HN user

nerme

225 karma

using the account "williamcotton" now

Posts1
Comments63
View on HN

We write software for humans. The same humans who can't tell the difference between instantaneous events and events separated by less than a few milliseconds. The same humans who won't be around for long enough to recognize the difference between a really large number of events and an unlimited number of events.

So, by all means, continue to write software for those ideal beings that live in a world of comprehensible instantaneous and unlimited events, but you'll find that most people on this forum are operating under a different assumption.

There is nothing quite like trolling a bunch of nerds with the opinion that the entire study of pure mathematics has been a wasted endeavor for mankind...

You deserve a round of applause!

(Also, mods, where are you?)

There is a fair bit of composition going on, albeit all based on a single melodic phrase, so it is far from just being any old random combinations of tones from the C major scale.

It is definitely a canon, meaning the same phrase played at different starting points. A round is a simple form of a canon. Think of the melody to Frere Jacques.

From a perspective of form, this song expands on the basic concept of a round by playing with double time, half time, quarter time, etc.

It has a lot of elements of serialist music, in which a musical pattern is subjected to a number of operations, although this song doesn't venture in to the more strict forms of twelve-tone composition. It is more along the lines of minimalist composers like Steve Reich and Phillip Glass, who took some of serialism's academic approaches to composition and made them hypnotic and rhythmic. In a sense, making fruit-of-the-earth pop music out of some sort of cerebral concept.

Overall the musical production is of pretty damn good quality. The performances sound good and the recordings were well made. The variation of instruments is impressive and the introduction of various pop styles keeps the concept novel.

One of my main gripes with "math music" is that it can be downright unenjoyable on an aesthetic level.

This song does a very good job of taking something inherently non-musical and making it pleasing to the ears, all while strictly adhering to a set of rules laid out before composition began.

Have you looked at how we write code? It is directly related to the hardware architecture. Operators over here, memory over here.

Why wouldn't there be a benefit in having the hardware mimic the type of software they plan on using, namely, neural networks? That way, from the ground up, you've got these "neurons" that can computer and store information locally, which is pretty much what you've got in a neural network.

I'm really excited to see what kind of ground-up software architecture is going to come from using memristors as opposed to the combination of logical operators and separate memory. It sure as hell isn't going to look anything like Assembly. :)

I really like the RFID entrance I get when traveling back to New Zealand... especially after a 13 hour plane ride!

The tourists and kiwis with old passports all line up in a giant queue, while myself and a few others walk up to some machines, scan our passports, have a quick photo taken, and then just stroll on in!

I've flown to NZ with just carry-on luggage and caught a cab within 10 minutes of the plane doors being opened.

OUR way of life is better?

No, dude, YOUR way of life is better.

If these people are brought in to our culture they're fucked. Plain and simple.

What do you think they're going to do, move to the Bay Area and start a social media company?

They're on the bottom rung. They've got some red body paint, some banana trees, and some thatch roofed huts. They're wealth exists solely in their own way of life. As soon as they're faced with our way of life, they're fucking worthless.

Outside of the lisp machine, it was pretty trivial to find examples of those technologies that are still being made and sold.

I'm sure some nerd out there is making a lisp machine in his garage this very moment. :)

Schema version is at 200.

Developer A creates a migration numbered 201. Developer B creates a migration numbered 201. They push their code, pull, and get conflicts.

So instead, they use a timestamp based system. Developer A created his and got 20100604181252. Developer B got 20100604182530. Now, everyone is happy, and no one has to change their migrations.

For one, I list open-source projects that I contribute to and plan on using and enhancing as part of whatever business objectives I'm being hired to work towards.

Also, I add in a clause that states I will more than likely release aspects of the project under an open-source license. Nothing binding, but I like to have it in writing on the same piece of paper that ensures I get paid for whatever I do. Their lawyers always find a way to bill a few hours worth of figuring out the language. :)

The only thing I ever get from people is something along the lines of "hmm, we don't normally get this request, but no one seems to have a problem with it."

Development teams and managers love it because it means you're writing nice, modular code.

I've never had anyone take issue when, instead of burying some specific bit of functionality within business logic, abstracting things out to a library. In fact, most people would agree that that is good habit to have. ;)

When it is finished you just talk to someone up the chain about releasing it. Normally saying something along the lines of "hey, we might get people who don't work for this company enhancing this feature for us" really helps to sway their decision in your (and my hippie-dippie share things for the greater good) favor.

Here's the language from a recent contract:

-------------

4 . Ownership.

A. Assignment. Consultant agrees that all copyrightable material, notes, records, drawings, designs, inventions, improvements, developments, discoveries and trade secrets conceived, discovered, developed or reduced to practice by Consultant, solely or in collaboration with others, during the term of this Agreement and arising out of or in connection with performing the Services under this Agreement (collectively, “Inventions”), are the sole property of the Company except that Consultant may contribute certain modifications to Open Source projects as set forth in Sections 4.A.1 through 4.A.3. Consultant also agrees to assign (or cause to be assigned) and hereby irrevocably assigns fully to the Company all Inventions and any copyrights, patents, mask work rights or other intellectual property rights relating to all Inventions.

( 1 ) Open Source Projects. A software project is said to be an Open Source project when its project materials such as source code are published publicly and its software license permits the combination of project materials with other software project materials without fee and commonly with no or limited exclusivity or other limits on use.

( 2 ) Combined Projects. Consultant may from time to time in the course of performing Services and subject to approval by the Company use Open Source projects exclusively licensed under the MIT License to develop Inventions. During and after the use of Open Source projects, Consultant may add, change, improve or otherwise make modifications to Open Source project source code or other materials and may contribute these and only these modifications to the Open Source projects provided that these modifications do not contain Confidential Information and subject to the terms of the applicable Open Source project license and the project’s administrative rules.

( 3 ) Notification of use. Consultant has attached hereto a list of Open Source projects that Consultant may use to create Inventions and to which Consultant would like to contribute back non-confidential modifications. Consultant will provide prior written notice to the Company prior to using any additional Open Source projects to which Consultant would like to contribute back non-confidential modifications; and such use shall be subject to approval by the Company.

Put it in your contract!

I modify every contract I sign to include stipulations for open-source software.

Most companies couldn't care less about releasing bits and pieces of their code base as open-source projects.

Business schools have been preaching to students for decades about how marketplaces have become consumer focused and not product focused. They already think that the really important part of doing business is to focus on finding out who wants what, regardless of what the product is.

As a developer, it is your prerogative to ask! If you run in to any hesitation from the higher-ups, just work on it for a little bit... it probably isn't going to run against their "big picture" objectives.

The biggest point that he is making is that there are a LOT of areas where the US is overspending on health care. Which, if the effectiveness of this health care was in line with the increase spending, it would be alright. Unfortunately, it isn't, so there is a lot of waste.

We are spending money on the wrong things and it is a systematic and cultural problem.

Anecdotally, I tend to see a lot of people in the US go to the doctor "just to play it safe". X-rays for a sore knee, antibiotics used for a mild sinus infection, blood work done because they're not sleeping well at night... we spend a lot of money with the idea in our heads that the medical industry can and will cure all of our ailments.

How much did you know about the industry? Did your company know any promoters or booking agents? Could you get a band that signed up to do business with your company an opening slot on a tour? Could you get them a write-up in a music magazine? Did you know where to send them when they got kicked out of their practice space?

See, that's the thing. Music isn't just distribution of content on the Internet. There's a lot of other shit going on.

When I lived in NYC, I built recording studios and did noise abatement in a number of bars in Brooklyn and Manhattan. There are plenty of places to pick up supplies

Also, there are TONS of specialty shops. Canal Rubber is my favorite, as I used a lot of mass-loaded vinyl. In fact, in most places in the US, you would have to order in specialty construction materials.

As for general purpose, I got a good discount at Dyke's Lumber. They have locations all over the city.

Metropolitan Lumber is nice also. They've got lots of cheap "used tools", if you know what I mean. I used them when I was working in Hell's Kitchen.

You can haggle prices down quite a bit at all these places. Normally you just say "well, Dyke's gives me %10 off orders of this size" or whatever.

However, when the Home Depot opened up in Bed-Stuy, their prices were so low that pretty much every handyman in Brooklyn shopped there.

Oh, and all of these places deliver. I rarely went in to the location. You just call them up, say you need 20 2x4x8' studs, 10 1/2" pieces of sheetrock, and they'll roll up with a big truck with your stuff. Don't forget to tip!

For the random little things there are hardware stores all over the city. I can't think of a time I had to walk more than 5 minutes to pick up a box of screws or buy some new work gloves.

The more you interact with women, the more you get to know women.

There is no method.

Think about throwing a baseball. No professional pitcher looks the same. They each have their own peculiar windup, delivery, and follow-thru. They each have a different selection of pitches. Some are taller than others. Some are from the Dominican Republic. What do they have in common?

They've all been pitching for a long ass time.

Sure, they have insights on the process. They'll show you their grip on their change-up or how they flick their wrists out before they release their curveball. They'll show you little bits of technique but they'll never be able to teach you how to pitch.

You've got to figure it out on your own.

Confidence is absolutely key. You're up on the mound. Your entire team is behind you, waiting for you to deliver the ball. It's just you and the batter. You're on the spot. You can't undo what is about to happen. There is no proof-reading. There are no mentors to run things by.

It's all up to you.

The first pitch might be off target. That doesn't matter. You've still got at least one more pitch to throw. So what are you going to do, fret about what just happened or think about how having a 1-0 count can work to your advantage? What was that last pitch, a fastball, and you missed up and outside with it against a left-handed hitter? Perfect time to throw your slider in for a strike, just nabbing the upper right corner. Now it's 1-1. The hitter is left thinking if the first pitch, way outside that it was, wasn't just some sort of psychological test, a setup, a prelude for the rest of the at-bat.

Congratulations, you've just gotten through a single batter. There are at least two more to go, and that's just for this inning. If you're lucky, you'll get to face 27 or more of them. If you're not up to par, you might only see a dozen or so. The point is you are hungry for the chance to show off your skills.

It doesn't matter if you're a knuckleballer, a crafty south-paw, or a fire-brand young all-star. You're all experiencing the same thing.

However, the method used to succeed is your own.

Anecdotal evidence:

My band's website is the highest ranked page for the search term "red blue yellow".

No meta headers, no keywords, no <strong>, no <h1>... nothing, not even <html> or <body> tags. In fact, the only HTML is a <pre> tag containing ASCII art and a link to our Facebook page. I mean this quite literally, view the source.

However, it has been linked to from other sites quite frequently in recent weeks.

It would seem that Google doesn't penalize invalid HTML, or even pages that have only the most basic HTML.

Apple Inc. (previously Apple Computer, Inc.) is an American multinational corporation that designs and markets consumer electronics, computer software, and personal computers. The company's best-known hardware products include the Macintosh computers, the iPod, the iPhone and the iPad. Apple software includes the Mac OS X operating system; the iTunes media browser; the iLife suite of multimedia and creativity software; the iWork suite of productivity software; Aperture, a professional photography package; Final Cut Studio, a suite of professional audio and film-industry software products; and Logic Studio, a suite of audio tools. As of January 2010, the company operates 284 retail stores in ten countries, and an online store where hardware and software products are sold.

If there are two guys, one guy working on server-side code and another guy working on client-side code, either side could get held up waiting for the other guy to finish his part of the project.

Even if people aren't waiting around for something to be completed by someone else there is an overhead in communication. "Oh, you wanted the LIs to have that class name? Well I've got to go fix my CSS now... gimme a few minutes."

“Having two identities for yourself is an example of a lack of integrity.”

Actually, Zuck, that has nothing to do with integrity. I would hope to hell that there are things that you feel comfortable saying around some people that you don't feel comfortable saying around other people.

I completely agree with the writer. By having this "all people must act the same to everyone else at all times" mantra coming down from the top, they are ripe to be overtaken by another product that simply has at its core the exact opposite philosophy.

There ARE ways to split people in to groups based just on the social graph. Of course, you need a very large and almost complete social graph in order for this type of clustering to be accurate. I'm a huge fan of the linear algebraic techniques used in network analysis. There is definitely a way to have most of the hard work done algorithmically, presenting the user with an analysis of his own social network, lumping people in to suggested groups, for example. It wouldn't work 100%, as no algorithm is going to properly be able to handle the subtle nuances of a given individuals rationale for grouping people together, but it could get very, very close.

You could add further inputs to the clustering mechanism by taking in to account each node's own reclassification of its social groups. Run the algorithm, give all the users a generated list of social groups, and as each user updates and fixes the lists, re-input those updates in to the clustering algorithm. By giving the nodes in the graph an opinion, the algorithm could be refined and made to be more accurate when there are future changes to the graph.

Oh the weeks of fun I could have with access to Facebook's social graph...

Companies like FourSquare remind me of pop songs.

They're catchy, it's hard to describe exactly what makes them work, and if you're lucky, you'll write one your entire life.

What I don't get is why a "hit song" can be considered an entire company. Why is FourSquare trying to raise millions of dollars of investment money? Why not try and come up with another 7 or 8 products?

I mean seriously, what are they looking to become, the next Google? Do they have some sort of BadgeRank algorithm? The next Facebook? Are you going to be able to buy location based ads so you can direct people to your FanBadge pages so you can find out how many people like your Badges?

To me it seems like if investors, instead of investing in a gaming company, invested in just ONE game.

"Here you go, here's $20million, kid. Make sure that Warcraft keeps being the best game. Just keep adding to it, and adding to it, and adding to it, forever."

I'm hoping that FourSquare see themselves as a publisher of fun, little things, and try to develop new, even more fun, little things, and not become a big bloated "what the hell has this thing become" product.

It is a shame that so many employers have it in their heads that they need 100% of their employees lives. Why can't people work less hours for less money? Why must they give all of their will-power? Why can't people have a job with medical benefits, paid vacation but only work 3 days a week, with a salary that takes in to account the trade-off?

I'm sure I could come up with some reasonable answers to those questions, but I want to hear what you guys have to say.

It is like a bugle or any of the brass instruments. The tone produced is dependent on the vibration of the player's lips as well as the length of the tube.

I haven't played one, but I'm sure you could play numerous overtones like you can on a bugle.

They seem to be mass produced, resulting in most of them having the same length. That, along with the fact that the average sporting fan probably doesn't have much embouchure, would explain why there's a single tone that is much louder than any others.

Well, there WERE competing currencies in place for a time. The advent of paper currency comes from privately issued banknotes, which were legal in the UK until the Bank Charter Act of 1844.

The reason they pushed for it? Basically, private banks were printing too many banknotes and causing bouts of inflation. This was in a time when currencies were still backed by gold.

Here is the speech by Robert Peel that convinced Parliament (as well as myself) that this was a good course of action to follow: http://www.historyhome.co.uk/polspeech/bank.htm

If you made a papery currency, what is it backed by? A big pile of gold? Do you have a lot of men with guns defending that big pile of gold?

What is backing a fiat currency like the $US? Trust that the country will continue to exist? The might of the armed forces? It is a number of things, but the conditions are very difficult to reproduce without a lot of cold, hard steel moving around at high speeds through land, sea, and air.

MapReduce is already being applied to graphs.

Spectral graph theory, ie, the construction and manipulation of graphs that are described by matrices, has been around for quite some time. Two types of matrix representations are typically used. Adjacency matrices and Laplacian matrices.

Page Rank is an example of this. It is equivalent to finding the centrality of a graph, by computing the primary eigenvector of the adjacency matrix of the graph.

MapReduce is used for accomplishing the difficult task of computing the needed eigenvector of a multi-billion dimensional matrix. Instead of attempting an exact computation of the primary eigenvector, the power method is used. The power method is an iterative approach that quickly approaches an approximation of the eigenvector. It comes down to looping over a matrix multiplied by a vector until you get the precision you're looking for.

The cool thing about the power method is that you don't REALLY need to get your data in to some sort of linear algebraic representation of a matrix, you can just use more efficient data structures to mimic matrix multiplication.

Since matrix multiplication is done a row and a column at a time, you can split it up in a parallel manner. The map function handles the computation of each row of the resulting vector, and the reduce function puts it back together again, ready for the next iteration of the power method.

As for PreGel, I didn't really understand the description of it.

I have always had a lot of gripes with publications related to algorithms. There are very rarely any code snippets. I feel at least that the authors should go over their algorithms in some sort of pseudo-code.

I realize that academic papers are written for a specific audience in mind, an audience that is used to seeing a bunch of algorithms described in linear algebraic notation, but I feel it does a huge disservice to spreading knowledge. I mean, I'm somewhat versed in mathematics, albeit at an undergrad level, but I rarely know what these articles are talking about in any specific detail, at least to the point where I could reproduce their approach in functioning computer code.

I've even been published in ACM, and I can't follow the majority of papers in the journal!

This isn't just applicable to computer science, rather all mathematics in general. The notations used are so arcane that even the simplest of ideas can seem daunting. It's probably why so many people are turned off by mathematics early on in their academic careers.

It took me a good week of brushing up on linear algebra and reading through various descriptions and white papers to figure out what was going on with Page Rank. It really isn't that complicated of an algorithm in the end... you're just constructing an MxM matrix where rows and columns are considered web pages, getting those rows to add up to 1 while making sure there are no elements equal to 0, computing an eigenvector, and then scaling the eigenvector down to make each element add up to 1. However, you read the Wikipedia entry on Page Rank and it is borderline indecipherable!

Why isn't there a "somewhat complex math explained in normal language with pretty pictures and graphs" textbook or website out there? Are all mathematicians incapable of communicating their art form to the world at large?