Hacker News new | past | comments | ask | show | jobs | submit | nerme's comments login

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?)


Newborns don't come out with all knowledge in their heads already. I'm simply alerting younger people to facts, there's absolutely no reason to get mods involved. Otherwise most of HN should be banned (since a lot of it is not completely fresh news). Why alert the mods, are you a scared pure mathematician?


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.


I appreciate it for its good production value, and as an example of constrained composition. I question even the "mathiness" of it, since it's just based on a truncated decimalization of pi. If you're just looking for a quick and easy constraint to express yourself under, I suppose this is as good a constraint as any, but my main point is that, as you say, there is no aesthetic value to the piece, and definitely no true insight on mathematics or the nature of the constant known as pi.


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. :)


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

This argument really doesn't make sense.

My desktop PC has a haskell interpreter, a prolog environment, and neural network code that I program on it.

I can write using functional programming, do maths operations, do connectionist computing.

Once the underlying computer is turing complete, all these things are possible.

Maybe having the better hardware will run the appropriate programs faster, but how we write code is not directly related to the hardware architecture.

The hard part will be figuring out what to tell the memristors to do.


There is really no mathematical advantage that NNs have over other approaches namely statistical, optimization and formal symbolic approaches/algorithms which are (imho) better engineering tools as they are more amenable to analysis. At the same time NNs are not inferior to other approaches, mathematically. The only advantage of NNs are sounding cool and being superficially similar to our brains. Consider this simple and often repeated analogy, sticking a beak and feathers on your toy airplane won't make it go faster. In real AI research, NNs are just a bullet point in the huge field of Machine Learning (http://ijcai-11.iiia.csic.es/calls/call_for_papers).

AI people should stop throwing around cool names and instead build things which are real (Please do not start another AI winter.) Watson is a refreshing step in the right direction.


In this case, neural networks have the advantage of looking similar enough to networks of memristors that you may be able to cram a big neural net into a small, low-power chip. It's not a huge breakthrough in AI, but prove very handy for some applications.


There wouldn't be a benefit because we don't know how to use neural networks to do AI yet.


Would you please clarify this statement?

I thought that there was plenty of progress in the field...

http://en.wikipedia.org/wiki/Artificial_neural_network


I think the problem is a disagreement over what "AI" means. We don't know how to do strong, general-purpose AI with artificial neural nets. We do know how to do a lot of smaller tasks with neural nets. Just because they're not currently a panacea doesn't mean they're not useful.


I once read something along the lines of "AI is whatever computers can't currently do". There is a ring of truth to this. We once thought that it would take AI for a computer to be the best chess player on the planet, but now most phones can beat 99.99% of people of the planet without trying. One day the Turing Test will be easily passed and I am sure we (humans) still won't be satisfied.


> I think the problem is a disagreement over what "AI" means.

Simple: "If it works, it isn't AI."

Remember when playing chess was a sign of undeniable intelligence? Remember when playing Jeopardy was?


No, neural nets have topped out long before that saying came into effect. They aren't useless, but don't be fooled by facile analogies to the human brain; neural nets as we actually know how to make them do useful things are rarely the best solution. We don't know how to train complicated ones very well, and the simple ones we know how to train are still very slow to learn vs. many other techniques, yet simultaneously bring very little to the table that aren't done better by numerous other techniques.

Reminds me of genetic algorithms and programming; no, they aren't necessarily useless, but remove the facile analogies to real-world processes and they carry a lot of expense for not a lot of gain. Only rarely are they the right choice.

Goals aren't results.


Your comment reminded me (for some reason) of Robert Full's 2002 TED Talk about embedding computation in the structure and material properties of a robot legs.

http://www.ted.com/talks/robert_full_on_engineering_and_evol...


Nokia sells LOTS of phones. You've got to remember than not everyone lives in the Bay Area and has a Twitter account... People living in Sub-saharan Africa and central Asia still need cell phones and the majority can't afford some flashing thing with a touch-screen.

http://en.wikipedia.org/wiki/List_of_best-selling_mobile_pho...


And to quote the CEO: "Let's not forget about the low-end price range. In 2008, MediaTek supplied complete reference designs for phone chipsets, which enabled manufacturers in the Shenzhen region of China to produce phones at an unbelievable pace. By some accounts, this ecosystem now produces more than one third of the phones sold globally - taking share from us in emerging markets."


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.


It's certainly convenient, but then the authorities can track where you were/where you're going. I don't know if they do the same when manually checking the passport, but I'll assume they don't?


It depends.

Just about any passport issued in the past decade or so has a machine-readable text strip on the photograph page. When the passport control officers take your passport they don't just compare your passport photo to your face -- they swipe the passport.

The RFID chip just allows them to store more data and get at it faster than the older machine-readable passports. The information that your passport (and its bearer) have arrived in country X is still available to country X's immigration database the moment you're past the checkpoint.

(Other risks of RFID passports include tracking or cloning, if the owner isn't keeping it in a tinfoil wallet or if the issuing agency's private key gets leaked. See also discussions on comp.risks passim.)


I've been to Peru a few times in the past couple years. Every time I passed through the immigration counter, they swiped my passport through a reader, and up on the customs officer's screen came a list of my travels since getting my current passport. Yeah, Peru sees a lot of tourism traffic -- more than many countries, but they're also not exactly first world, and technology penetration is spotty, at best.

So, yes, they do track you.

(FTR, my passport is pre-RFID.)


They definitely do; that's the whole reason why you are required to have a passport in the first place. RFID just makes the process more efficient; there's nothing on the chip that isn't contained within the combination of your passport number and their database.


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.


I think I prefer the first version. At least the conflict is obvious.

Developer A creates migration 20100604181252. Developer B creates migration 20100604181253. Developer B doesn't notice Developer A's migration: there's no way to know from the timestamps that there might be a conflict. Everything breaks.

vs

Developer A creates migration 201. Developer B creates migration 201. Developer B gets a handy notification that something has happened in the meantime, and gets a chance to patch the migration if necessary.


Actual conflicts from working with the same fields in the same tables are so rare, I haven't even experienced it once.

However, the second scenario would happen every single day in a team.


I have occasionally modified a sproc, only to find that a conflicting check-in has also modified that same sproc. One of our modifications has been overwritten by the other.

I do concede it is rare, but it happened, and we only discovered the bug too late.


The real issue is when you have feature branches and merge them in to master/trunk - so it's not a single file conflicting, but maybe a week or more's worth of work from both developers.

As you say, it would rely on notifications that there was the possibility of clashes, but unless you monitor every other developer's local feature branch, you would only know when the branches are merged into master.


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.


Could you clarify more on this? What stipulations do you add? To me it seems like there is a lot of legal risk to giving an employee the ability to release code, so they just put everyone under a blanket clause that says no to open source.


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.


Our standard employment contract contains a clause saying that while IPRs of all software produced go to the company, the company will release all of it under OSI-approved open source license, and will maintain the developers in the authors list


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: