HNHacker News
TopNewBestAskShowJobs

daniel-levin

870 karma · joined December 8, 2012

submissionscomments
daniel-levin··on From a Frat Social Network to a GPU Compiler for Hadoop
OK, but I think you mean B was close to zero then?
daniel-levin··on From a Frat Social Network to a GPU Compiler for Hadoop
By Amdahl's law, that idealisation assumes that your program is totally parallelisable. Very few real world applications actually are. Out of interest, was yours? (Or at least very close to it?)
daniel-levin··on Keeping a debugging journal
Can you share your debugging journal? I have been thinking about keeping one, just to try see if there are patterns amongst the bugs I inadvertently write. There are indeed patterns and classes and categories of bugs, and I think that knowing them might prevent me from making the same (stupid) mistakes in the future.
daniel-levin··on From a Frat Social Network to a GPU Compiler for Hadoop
From the product website:

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

daniel-levin··on Booting to Rust
I'd go crazy for something along the lines of xv6 [1]. xv6 is a modified Unix V6 that is used to teach the principles of operating systems. Its source code is small and well written. A rust analogue would be awesome

[1] http://pdos.csail.mit.edu/6.828/2012/xv6.html

daniel-levin··on We just open sourced Flanker, our Python email address and Mime parsing library
There seem to be a bunch of people who have the same opinion -- stick to the corelibs until it hurts. Do you want to articulate why?
daniel-levin··on A Crash Course in Sales Hacking and Deal Closing [video]
HN has a voting ring detector that severely punishes them, if that's what you're alluding to.
daniel-levin··on Why Sass?
For all the rails asset pipeline's issues and the grievances it causes, it makes it really convenient to use either Sass or LESS. The tooling integration is trivial to setup (add [sass|less]-rails to your Gemfile) and it compiles assets automatically. Also, browser hacks work fine [1, 2].

[1] http://www.yonbergman.com/2012/05/19/why-you-should-use-sass

[2] http://getbootstrap.com/getting-started/

daniel-levin··on Messaging App Line Now Brings in Nearly $100M a Quarter
Do you have any references to this?
daniel-levin··on Messaging App Line Now Brings in Nearly $100M a Quarter
> followed by stickers, which make up another 20 percent of their sales

That's a shitload (approx 20m USD) of stickers

edit: a line

daniel-levin··on Fix Ubuntu
I use XMonad, and don't have these problems to fix (in a sense, because XMonad 'fixes' them). For those who are on Linux who've never used XMonad, I suggest you give it a try. It's awesome. I'm on Ubuntu 13.04 and have never been bothered by ads. Also, I find the instantaneous desktop switching and fullscreen windows, resizable tiling invaluable.
daniel-levin··on Unexpected Ways in which Bitcoin Dodged Some Cryptographic Bullets
> As a result, most of the decisions that Satoshi Nakamoto made in 2008 we are essentially stuck with.

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?

daniel-levin··on Ask HN: How much recurring income do you generate, and from what?
I read in Influence [0] by Cialdini that telling people you're going to do something actually makes it more likely you will because you feel consistency pressure

[0] http://en.wikipedia.org/wiki/Robert_Cialdini

daniel-levin··on Command-line tools for data science
Update: now merged with the mainline repo
daniel-levin··on Command-line tools for data science
https://github.com/daniel-levin/json2csv

Obligatory here-I-did-it

daniel-levin··on Star Wars Weather Forecast
Interestingly the Hebrew version prints Dagobah as Dagobash (דגובאש), and apparently Johannesburg, SA doesn't exist as a city.
daniel-levin··on PEP 450: Adding A Statistics Module To The Standard Library
Agreed. I'm studying statistics at the moment and I'm continually reminded of how easy it is to choose the wrong model / distribution and be incorrect because of some non-obvious and technical reason. For example, just the other day, I wanted to use the binomial distribution to solve a problem. To use this distribution, the trials must be independent of one another. In that particular problem, there was a subtle condition that made the trials non-independent. I arrived at correct-appearing answers (0 <= P <= 1) that were actually all wrong. Statistics is way too easy to break to be used naively.
daniel-levin··on This experiment proved that anyone could design a nuclear weapon
Yes, but obtaining "separated HEU [Highly Enriched Uranium]" is highly non-trivial. Enriching Uranium is a specialised process that needs equipment (like centrifuges) manufactured to precise tolerances operated by skilled and well-trained people.
daniel-levin··on Show HN: See what the best startups in the world are using
This is pretty cool. There was a service a while back which seems to have died called weusethis. It also had interviews with the engineers at the startups detailing how they used their tech stacks.
daniel-levin··on Student Hackers: DO NOT Intern...BUILD.
'actual business problems and domain knowledge'

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.

daniel-levin··on Indoor positioning, Unity 3D and Twisted. How's that for a tech-stack?
'This data is used to improve campus life as it gives an idea how to distribute resources optimally'. My university really needs this; just today I wasn't able to get a seat in the lab for an originally 2-hour session. We were split in two groups and each group got 1 hour in the lab instead of 2. This is a real problem and I would agree to carry a beacon-card if you could guarantee that my data sent is anonymous. And given the fact that attendance certification is law in the UK, I think that the safety and security use cases for this technology are completely invaluable. The firefighter example shows that you could actually end up saving lives.

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)

daniel-levin··on Indoor positioning, Unity 3D and Twisted. How's that for a tech-stack?
I am looking forward to reading the next few articles in the series. Mapping applications are awfully hard to get right [1]. There is just so much to do and do correctly that it is quite the technical achievement to create a functional mapping application. Doing it in 3d seems more difficult.

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/

[2] http://en.wikipedia.org/wiki/Theory_X_and_Theory_Y

daniel-levin··on BioBlender: Blender for Biologists
+1 for this.

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.

daniel-levin··on Bacteria in the Intestines May Help Tip the Bathroom Scale, Studies Show
http://en.wikipedia.org/wiki/Fecal_bacteriotherapy

Human fecal transplants already exist

daniel-levin··on Users of my iOS Game Teach Me a Lesson MIT Didn’t (2011)
"No, they had discovered a superior strategy."

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)

daniel-levin··on Egypt catches divers cutting Internet cable amid disruptions
Seacom is one of the primary cables that connects South Africa to the world. Since Friday 22nd March, we've experienced reduced speeds. What is interesting is the technical responses of the local (South African) ISPs to the disruption. Regular HTTP was severely throttled. FTP was disabled completely - it wasn't slow - it was literally switched off. When you tried to load a page, the browser / wget would report nothing for a few seconds, and then after a while would immediately start the download. To me, this suggests that requests were being queued before being sent through. Also, the same symptoms manifested themselves when looking at local websites - a broken undersea cable shouldn't affect that. It's just interesting from a technical standpoint how our ISPs did damage control.
daniel-levin··on A heartbeat monitor for software as a service
Awesome to see a South African company on the front page of HN. Keep it up, guys! Just two questions though - how have you secured the heartbeat? An attacker could take down your servers and forge a heartbeat. How do you prevent that?
daniel-levin··on Hacker News For Africa
As a South African, I am excited by the prospect of this. That said, I'm often frustrated by the signal-to-noise ratio that so often accompanies discussion about technology and entrepreneurship in Africa. Often, I hear substance-free palaver [1, 2] about how X can be done to solve some problem or alleviate some woe in Africa. As a result, I hope that this site will focus on real entrepreneurship - like M-pesa and the Silicon Cape, and less on enthusiastic but ultimately futile or non-actionable content.

[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...

daniel-levin··on Results of the 2013 /r/Linux Distro Survey
Do Linux based spiders and crawlers count? If so, has that skewed the results in a meaningful way?
daniel-levin··on Monads explained by Eric Lippert
Monads are actually a very simple concept. They're really hard to understand at first because of how much knowledge is prerequisite. I found that by teaching myself Haskell incrementally, in small steps, I was able to understand monads just as easily as anything else. For me, it was simply resolving the following dependency graph:

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.

[1] http://www.youtube.com/watch?v=DC-pQPq0acs

← PreviousPage 6 of 7Next →