skysight-inc/HackerNews huggingface dataset:
Been there, done that --- my own pet programming language (we all do one, or several) is Cowbel, at http://cowbel.sf.net, and it's now on its third incarnation, generating C. The second used LLVM.

The reasons I switched away from LLVM are:

- the LLVM API is huge, not very well documented, and changes radically from version to version.
- LLVM library consumers are not well supported by the project. Frequently what you get when install it is a set of static libraries, which take forever to link against and lead to 150MB binaries.
- LLVM's supported architectures set isn't great yet. C provides a portable, vendor-neutral intermediate language which works everywhere and is easy to read and therefore debug.
- targeting C makes library integration trivial (as your output program can use the library's own headers, which means ABI issues become nonexistent).

I did contemplate a partial switch, where my compiler didn't link against LLVM at all but instead just spat out LLVM bitcode assembly --- but emitting C was the same amount of work and so much more flexible. The only downsides is that C can't do tail calls, and getting the debug information to match up is more work, but that's about it.

(For the interested: Cowbel is an experiment at producing a minimal static duck-typed language --- all types are anonymous; you refer to objects only by their interfaces. The compiler than uses type inference to determine the actual concrete type of the object. This allows it to, e.g. use a single machine word to represent a number if you're never going to do dynamic dispatch on it, which means you don't end up with the weird schizophrenia of C++ and Java where some types are scalars and some are objects and they have different semantics.

It's also an attempt at minimalism; I wanted to remove as many features as possible and still end up with a expressive language with Javascript-ish syntax. I'm really proud of the way I managed to unify scope blocks and objects...

It works beautifully, and produces tight, fast code, but the compiler became unmaintainably complex and needs to be rewritten from scratch, which I haven't done yet.)
Another benefit of generating and saving an email to the database first, is at that point putting a "view this email on the web" type link into the top of the email becomes trivial. Formatting HTML emails is a significant pain, and mobile only exacerbates that...

The point of a transactional database is, you know... handling transactions... and in this case, resetting a password is a transaction... Sure, you have to kill long standing transactions manually, but that's a fair bit better than having to deal with a url that is longer than https://foo.com/account/password-reset/(uuid) for users that may well copy/paste ...

While I do like and appreciate the idea.. it's easy enough to scale when you are either using a replica-set for your reads, or a sharded database...
Most of the well known companies in SF are not necessarily tech companies. They make small apps, games, or websites. Some of the companies include Zynga, Twitter, Salesforce, PG&E, Firefox and many of them do not offer $200K for mid-level programmers. Those are for leads or Managers.

Just did a quick search for Twitter for example and it's listed at only $112,760.
This is an awesome EE course from MIT on AI:

MIT Course: 6.034
AI: Undergraduate level

http://ocw.mit.edu/courses/electrical-engineering-and-comput...
I worked in a cargo cult SCRUM organization for a while. All the rituals, none of the understanding.

It sucked.

Fortunately, management got replaced by competent management, eventually. Which is a really unusual outcome. It became a very good organization.
Projects that still insist on maintaining a changelog file in git end up constantly fighting git's conflict resolution, and they make rebase almost completely unusable.

For an actual log of individual changes, that's what "git log" is for; any project that pre-dates git should "git mv ChangeLog ChangeLog.pre-git". And if your "git log" output isn't highly readable, write better commit messages and group changes into more logical commits; once you stop breaking "git rebase -i", that gets a lot easier.

Some of this advice potentially makes sense, but for a NEWS file, not a changelog. A NEWS file has one top-level heading per release, containing the release notes for that release, summarizing the key user-visible changes. However, that file should not attempt to track every change, should not contain times or dates, and should get grouped in logical chunks rather than chronological order.

And while it can potentially make sense to update that file as part of the commit introducing a new user-visible change, that also reintroduces the same conflict and collaboration issues as a changelog, so personally I only update NEWS files right before a release. I run a script that generates a properly formatted NEWS entry based on the version and git commit messages (turning each one into a markdown bullet-list entry with indentation), then edit the result to add headings, group entries under those headings, and delete any non-user-visible changes that don't merit a release note.
you can always use base64-url structure too... base64, remove trailing "="'s, replace "+" with "-", replace "/" with "_". Though the "_" and "-" can still be ugly at the beginning or end. You can also encode them %## style.
Proof of stake is not distributed consensus. It falls back to trust-based consensus in an attack scenario.
Create Postgres Indexes Concurrently in ActiveRecord Migrations
Video Converter for iPhone / iPhone 4S
> Is there a standard change log format?
Sadly, no. But I want to change that.

What's missing from some formats which already exist and are pretty popular? https://www.debian.org/doc/debian-policy/ch-source.html describes debian changelog format which applies to all .deb packages for years now.
Have you considered keeping the app going by putting the funds into an overseas resource?

65
It's a nice article and generally a sound approach, but reading it has led me to think about something else: imagine an Internet where the data about each user (what would normally be entries in different tables on the servers) is stored, encrypted and authenticated, on the user's computer, as opposed to being stored on the server. Yes, I know, this goes against the 'cloud' principle we see around us and introduces a bunch of issues with syncing this data and it being available everywhere, which is the point of SaaS-like websites. But on the other hand, small websites could use this approach to drastically cut their costs and maintenance work they need to do. Also, a compromise of a server would expose the keys used for encryption, but then the attackers would need another piece of the puzzle, and that's stored on the user's computer.

Don't get me wrong, I'm not advocating this principle or implying it is needed and doable with the current technologies (I don't think we have a way of reliably storing such long-term data within the user's browser), but it's an interesting train of thought. It doesn't obviate the need for the server to store any sensitive information, just some of it. User info, password hashes, credit card numbers, maybe even social graphs depending on the use case, could all be stored this way. There will always be websites for which this doesn't make a lot of sense, but a lot of the other ones, mainly small players, could benefit from this.

It's curious how, when you describe it like that, it sounds that your data is being held hostage by a third party. After all, the server doesn't allow you to see what's in the encrypted opaque blobs, it only allows a controlled set of operations to be done with this data, and the only thing they do is further mutate this opaque blob. But it is no less transparent than the current state of affairs, namely servers keeping the data for themselves.

I'm interested to hear HN's opinion on this, flaws in the approach I've missed, etc.
Curious what monitoring system they have to detect things like that.
Nicely formatted changelogs are amazing for third-party tools: at requires.io we try to gather as many changelogs as possible, but oftentimes there are simply none available.
Occam's Boxcutter
Given how difficult the environment for commercial drone businesses is in the U.S., what are the best countries to start a drone startup in ? China ?
This is all fine and well until you need to measure "how many users reset their passwords" or "what is the bounce rate of users confirming their email addresses". This may be useful for avoiding sensitive data, but it's not a practical substitute for writing to the database, nor is it really that much effort to create two database tables.
I wasn't directing that at you, just in general. I really do try to create one part of an intelligent dialogue on these forums, but it is incredibly frustrating to have experienced variations of ways of perceiving information, without having the capacity to express the issue in a way that anyone is willing to listen to, and then be down-voted on top of that, which feels like being silenced.

> insisting that current lack of knowledge means permanent lack of knowledge.

The alternative to that is that there is a limit to knowledge, that it is possible for all things to be known. And even if humanity does hit that point, I think at that point, it becomes a choice to choose whether to believe all things are known, or to believe that some things are not yet known.
Barcode Image Printing, OSGi Metadata Support and Improved Barcode Reading
say there is a fourth, and u write a transparent pooch parth script for ur dogs on the 4th, and dad thinks he got away...
EUKhost Coupon – Save 15% Off Any Reseller Hosting – Whamdeal
> imagine an Internet where the data about each user (what would normally be entries in different tables on the servers) is stored, encrypted and authenticated, on the user's computer, as opposed to being stored on the server.

Trying to authenticate solely on the client side isn't as fruitful as you might be imagining, since it introduces potential security isues. Without any server-side authentication using only information (i.e. a blob) that the server has access to, it becomes very easy for clients to spoof/pretend to be other clients.

Consider that if this kind of system were easy/fruitful to implement, a lot of businesses would have done it already to avoid increased development/server costs on their end.
> Bill Gates and Warren Buffett don't feel the need to talk about how rich they are, or put down people with less money. Similarly, people who are truly confident don't go around talking about how awesome they are or bullying others.

Have you ever read about Bill Gates in his glory days? He was basically Steve Jobs without the fashion sense, but with the complete and total ass-holery (maybe not to the same utmost extent though).
"Bare" snap (snap-core and snap-server) are Sinatra-like too.
That isn't congruous to what I know.

From what I've seen and heard, getting a wife was the goal, and since women had actual choices, they'd be choosing someone with a stable job, apartment, etc., so the men feel compelled to get those things. They're not accidentally tripping over wives; they're actively seeking them out.
Looks like the hosting provider picked up on it.

Likely an IDS such as Snort or Suricata to detect compromised hosting clients. And possibly something to measure unusual traffic volume, or traffic to suspicious regions or hosts.
30 years of constant/daily use is different from a few years of use, then pulling out of mothballs as a curio every now and then.
I realize this... I meant to say that socket.io adds a lot more than just websockets.
I note that almost every CPAN module is on GitHub, and also almost every one has an up-to-date CHANGES file.
As a PL designer, there is a lot to like here; the design seems quite reasonable and thought out.

But what I really like is the presentation: I like how all features are summarized, pointing out what is novel, and then everything is just discussed using examples and comparisons to other languages. This is something I'll have to try when I finally get my own language off the ground :).

I wonder if the author is interested in engaging with researchy PL designers. E.g. the testability orientation of the language would make for a good Onward paper, or maybe a Future of Programming workshop presentation.
> Do you really believe the pinnacle of human achievement (and the only one that matters) is being in a long term relationship and having children?

Can anyone with any sense of Darwinian evolution not believe that having children is the goal of life? Can anyone with any emotional sense at all not believe that a lasting relationship with another is not the highest of pursuits?
Where's your type system now, Haskell?
Almost certainly one of thing things supported by http://www.uclinux.org/.
It reminds me of the "burnable CDs will keep your data for 30 years!" phase we went through. Turns out that's not so reliable after all.
For x86, older versions of Linux ran on a 386, but current versions require a 486, or a Pentium if you turn on stack protection (as most distro kernels do). (Almost nobody noticed.) However, drivers for ISA and similar still exist in the kernel, so you could likely get the most recent kernel running on a real 486, if you had one around.

The slowest systems still running Linux, though, are probably those running the m68k port. Many people doing development for that port use m68k emulators, which run many times faster than the fastest available hardware. However, at least in theory, you can run the m68k port on any m68k processor that has an MMU.
Car Dashboard UI Collection
> Cooperative multitasking doesn't magically gzip your instruction pipeline or something (actually CM is suboptimal).

There are multiple meanings of speed in a concurrent system. Is it throughput of each individual connection? Average throughput? Is it minimul latency, is it average latency?

What cooperative multi-tasking does is let all tasks make progress. Without having to have an explicit scheduling algorithm in each individual task.

There could be many reasons why ssh-ing migth be slow in a one-thread per connection. It could be that memory is low. Maybe the machine is over capacity. Maybe it is good that your ssh is slow because some higher business priority data is being transferred.

Thread also doesn't necessarily mean OS threads. Threads could be mean green threads (as in Python greenlet co-routines), it could be Go's channels, it could be Erlang's processes. Those are N:M threading models.

For example WhatsApp was running with 2M concurrent TCP connection on their FreeBSD servers say 3-4 years ago. Each connection with a separate lightweight process. So the logical model works well. It is the platforms and langauges that are behind so to speak.
"creative".
Before you start your own first startup you wold do well to work for someone else's. Learn on their mistakes, on their dime, make connections while you can. It's far more expensive to do it all on your own dime.
While I was going to tell you to look up the term "kyriarchy", I decided to verify my spelling and instead found this write-up:

https://rancom.wordpress.com/2010/10/01/why-no-one-should-us...

It has the double-barreled utility of both sufficiently explaining the term I wanted to introduce to you and provide a reasonable critique of it at the same time.
Maybe the correct incentive structure is to give the employees a meaningful percent of shares given that someone would choose $5K towards base salary over whatever pitiful shares the offered.
As theunamedguy said, open-source is pretty cool. If you contribute in a significant way to a couple major projects (programming languages, like Python or Ruby, major platforms like Rails, Sinatra, Node, io.js, major libraries like Underscore.js, Angular, Ember, etc.) that will look really good on your resume.

Also, if you keep hacking away at side projects until you get a few successful ones under your belt (like tiny libraries, for animation, forms, markup, the command line, etc.) that will also show that you're competent and know your stuff.

Just wanted to say: Fellow college student here. I'm still working on getting the first real foundation of programming down, but I think we're in a pretty good spot.
Found my current job through a monthly Who's Hiring thread on HN. Check this site: http://hnhiring.com/
$60 is typically how much offshore folks get paid so I can't imagine any local devs making that little.
Maybe a virtual destructor? But then why would the ’1′ be there?

http://stackoverflow.com/questions/8052146/whats-this-extra-...

It's a little odd to see ELF show up - such a complex format being used to do little more than wrap some bytes intended for the GPU to execute.

(Does the usefulness of writing FunctionName+0xnnnn in call/jump targets seem a bit odd? The addresses given on the left are absolute ones, so it would make sense to give those first, maybe with the relative one in parentheses; the relative one helps little in figuring out where exactly the call/jump goes...)
I'd absolutely be interested in that type of engagement, papers, and presentations.

I haven't written a technical paper before, but tried to make one on the testability here: https://docs.google.com/document/d/1hT761Cl2-r7cSJV4zR69PGAD...
Yes. Anything else would have been ... problematic.
Could driverless cars own themselves?
This came up in the other thread (https://news.ycombinator.com/item?id=9008776) and it sounds like there's a good chance of dependency hell. (ctrl-f "dependency hell" to jump to the discussion)
Yes and yes.

I'm personally far more interested in passing down a cultural legacy than squirting my genes into an egg, and I'm more inclined towards raising the average happiness of the world than just a single relationship.

The funny thing about belief is that it doesn't necessarily extend from basic facts like having read the same book.
Flynn has a much, much larger scope than Dokku or arguably even Heroku. To complete your quote:

"We knew we wanted something like Heroku that we could host ourselves, but we also knew that a Heroku clone wasn’t enough. We needed something suited to today’s needs. It wasn’t just about deploying stateless web apps, it was scaling them, provisioning and managing databases, and ideally the ability to run anything that could run on Linux all inside a single platform."

Another product mentioned in this thread is Deis, "a lightweight PaaS with a Heroku-inspired workflow".

~ http://deis.io/overview/
I quite agree with this: the end goal of a CHANGELOG.md (or NEWS.md if you prefer) should be to give the end-user a summarized view of the changes since the last release, organized logically by order of importance, not chronologically by order of commit.

Something like: security issues, breaking changes, major features, major bugfixes, minor features, minor bugfixes.
It's probably worth clarifying that on 64-bit Windows, the first first four arguments are passed in registers regardless of type, and the remainder (if any) are pushed to the stack. But on 64-bit Linux/BSD/OSX, depending on the mix of types, you might have as many as 14 register arguments. You get 6 "integer" registers, plus 8 "vector" registers, where "vector" registers are also used for floating point.

http://www.agner.org/optimize/calling_conventions.pdf
The Onward! deadline is early April (SPLASH will be in Pittsburgh in late October); the future of programming workshop (or whatever we call it) deadline will be sometime much later than that (maybe July?) and the presentation format will probably be flexible (video, paper, ...) with tracks at both strangeloop and SPLASH.
Is there a time out on the deal? Or is the 30% perpetual?
Try "All About Circuits" - http://www.allaboutcircuits.com/

It's widely used by EE students to help study for exams, figure out labs, etc.
Kuc – Vector Programming Language Like k
Seems like HN could do well with an introduction to Arlie Hochschild and "The Managed Heart" http://www.amazon.com/The-Managed-Heart-Commercialization-Fe....

Here's a bit of the blurb from Amazon:

"In private life, we try to induce or suppress love, envy, and anger through deep acting or "emotion work," just as we manage our outer expressions of feeling through surface acting. In trying to bridge a gap between what we feel and what we "ought" to feel, we take guidance from "feeling rules" about what is owing to others in a given situation. Based on our private mutual understandings of feeling rules, we make a "gift exchange" of acts of emotion management. We bow to each other not simply from the waist, but from the heart.

But what occurs when emotion work, feeling rules, and the gift of exchange are introduced into the public world of work? In search of the answer, Arlie Russell Hochschild closely examines two groups of public-contact workers: flight attendants and bill collectors. The flight attendant’s job is to deliver a service and create further demand for it, to enhance the status of the customer and be "nicer than natural." The bill collector’s job is to collect on the service, and if necessary, to deflate the status of the customer by being "nastier than natural." Between these extremes, roughly one-third of American men and one-half of American women hold jobs that call for substantial emotional labor. In many of these jobs, they are trained to accept feeling rules and techniques of emotion management that serve the company’s commercial purpose."
This is kind of what some sites use to eliminate signing up and logging in - give each user a unique URL that itself is enough to authenticate them. Not great for security, but OK for a game or something that doesn't matter too much.
Interesting, but I found this effort http://www.homebrewcpu.com/ more impressive overall. It quite literally is a home made CPU which then had Minix 2 ported to it and booted. A very impressive achievement.
Tracking the Bitcoins stolen from bter
I used Dokku (and Dokku-alt) on Digital Ocean with the goal of making deploying easier. I ended up getting rid of it (and Docker) because for a small scale system, Docker wasn't worth the overhead (vs capistrano and ruby, or heroku's git push). On the other hand, at my last job -- where scale was much larger, we implemented a Docker orchestration system to handle our SOA using Consul as a registration system.
A lot of people don't appreciate the utility of Linear Algebra because they fail to see how the core theorems generalize beyond Cartesian coordinates. Sure, the basic operators of a vector space such as "+" and "*" look boringly familiar, but these operations can be overloaded to carry out other calculations just like in computer programming. The fact that you can represent any "vector space" with a basis set and that every possible basis set for that vector space will have the same dimensionality is pretty cool and useful.