870 karma · joined December 8, 2012
>> Wish that O(n^3) algorithm could execute in real-time? Now it's possible! We encourage you to push the limits of our platform and disregard what was previously intractable.
One of the most important things to note about asymptotic analysis is that the speed of your computer is immaterial. An O(n^3) algorithm will experience cubic slowdown, irrespective of how it's implemented. A blazing fast, parallelised solution just reduces the constant multiple in front of the n^3, but ultimately, n^3 will outgrow that constant. I'm sure you know this, but it's disingenuous to say that you can disregard an algorithm's complexity because of your data / results. A particular algorithm with particular space complexity (also important) was run on a particular input and was much faster - granted, this is impressive - but not definitive enough to justify labels like '1000x faster' and 'disregard what was previously intractable'.
Also, O(n^3) is considered polynomial, which is absolutely not intractable. The whole point of intractable problems is that they are too complex to solve (given current best known methods). This might be very useful for applications that are currently too slow to run in real-time, but absolutely not a solution to problems of much higher order (read: non-polynomial) complexity
[1] http://www.yonbergman.com/2012/05/19/why-you-should-use-sass
That's a shitload (approx 20m USD) of stickers
edit: a line
Every single time I read something about what 'Satoshi Nakamoto' did in designing, implementing and securing Bitcoin, I grow more skeptical that one person, or even a small group of people, created Bitcoin. It is very difficult to believe that something this sophisticated was developed by anyone other than a well financed, possibly nation-state backed organisation.
This article suggests that Bitcoin was made difficult or impossible to fork by-design, which implies that the creator doesn't want to allow anyone to seize control of Bitcoin.
Paradoxically, the more you learn about Bitcoin, the more mysterious it becomes. Who would go through all that trouble to create it? What can they gain from Bitcoin's existence?
Obligatory here-I-did-it
This is critically important. In the past few months, I've done a lot of networking with the tech entrepreneurs in my city. After speaking to these guys, I became aware of problems I didn't even know existed. It turns out that corporate South Africa (and probably the world over) have a massive number of problems they need solved. For example: fleet management, business reports, operations (like using Voronoi diagrams to see which restaurant chain 'dominates' an area). This surprised me because as someone without exposure to a real business environment, I couldn't conceive why people would actually buy reports products and resource planning software. If you asked almost any CS major to explain what a 'enterprise resource planning application' should do I can quite safely bet that they won't be able to accurately describe what problems it addresses and how it solves them (assuming the grad has no first-hand experience in dealing with this kind of problem).
I realised how as an individual I have been exposed to mainly B2C companies. Now, having been introduced to real, profitable B2B companies, I see that the domain of problems to solve and businesses to build is huge. 'Get out of the building' really summarises this concept well. Get exposure to real business problems and you will find someone who has an unsolved problem that you can attack. A nice example of this (not a business problem but a real one nonetheless) is the other day I had to collect my calculus test. There were 1000+ people contending with each other to find their paper in 50 semi-sorted piles. It was chaotic. I know that there is a better way to do this (fast and efficient distribution of unique papers to 1000+ people) - I'm currently thinking about how to solve this problem. The takeaway idea here is that there are tons and tons of problems out there and exposure to the real world will give you the opportunity to see these problems and begin solving them.
As CEO, you should note that your comment completely repositioned my attitude towards your product. This is because your website is clearly aimed at decision makers at universities, whereas all I (a student) saw was a system conducive to draconian monitoring system. You should probably make your site more clearly demarcated. At http://beestar.eu/insight/learning-analytics it seems as if about half the points are targeted at students while the other half at educators. It seems slightly mismatched. And you also don't mention how this system could improve safety (I see the benefits of the firefighter case now that it's been explained)
But, I have a huge philosophical disagreement with the (education) product that beestar offer. I am a university student, and the freedom and independence that comes with being a student is invaluable. I transitioned from the narrowly rule-bound high school to the liberated, independent university life. I feel it is my responsibility and mine alone for my attendance. I would feel like I was back at school if my attendance was monitored. So many universities are places that engender freedom of thought, movement and expression. It seems as if this "were you there?" Big Brother system stands in opposition to the liberty offered by universities. The system that can offer you freedom unlike in any other institution instead clamps down on you, Theory X style [2]. If I were to attend a university using this system, I would feel less free than I do now. I don't think that removing someone's freedom to guarantee attendance is a worthwhile payoff for the education they'd be receiving
[1] www.theatlantic.com/technology/archive/2012/09/how-google-builds-its-maps-and-what-it-means-for-the-future-of-everything/261913/
Rosalind is a great way of improving your knowledge of biology and CS. It is quite cool to see computer science and mathematics problems and techniques applied to bioinformatics.
Human fecal transplants already exist
I had a similar experience when I published an iOS game in 2011. I was still in high school, so publishing a game available on the App Store was quite a big deal to the other people at school. I became known by a bunch of people for making this game. One day, someone I'd never spoken to comes up to me and shows me 'a bug'. It turns out this guy had developed an optimal strategy that would win the game every single time, with an almost perfect score. I totally failed to anticipate this way of playing the game. In retrospect, it was quite naive to assume that players would play how I would. When I played my own game, I had the technical knowledge of how the game functioned - and it seems as if this context clouded my vision of more creative ways to play this game. Players didn't think about collision detection, trajectories, the scene graph, parallax scrolling and z-indexed sprites. Instead, they saw the game as world to interact with, and having zero knowledge of what was going on behind the scenes afforded them a lot of room for creative exploration (and exploitation)
[1] http://africa2point0.org/web/index.php/en/ - "creating an enabling platform for African entrepreneurs to flourish"
[2] http://www.newsofrwanda.com/featured1/17405/oxford-universit...
Algebraic data types -> type classes -> functors -> applicative functors -> monoids -> monads.
I need to emphasise that understanding of each stage is predicated on understanding of the previous stage. Trying to learn monads without understanding these other concepts is like trying to learn Maxwell's equations without an understanding of calculus and physics.
Lippert states: "Plenty of developers have used the monad pattern entirely by accident, not realizing that they're re-inventing something that already has a name.". This is completely true. For instance, watch this video on refactoring by Ben Orenstein [1]. He 'destroy[s] conditionals with a NullObject'. This is exactly how the maybe monad works.