HNHacker News
TopNewBestAskShowJobs

mkhattab

245 karma · joined June 7, 2012

submissionscomments
mkhattab··on Atom
A common thread or line of argument that I find when reading about new editors is their out-of-the-box ease of use compared to Emacs and Vim. For example, a quote from the Atom blog:

>Sublime and TextMate offer convenience but only limited extensibility. On the other end of the spectrum, Emacs and Vim offer extreme flexibility, but they aren't very approachable and can only be customized with special-purpose scripting languages.

It doesn't seem like they (and many others) are denying that Emacs and Vim are excellent editors. Why is ease of use such an important issue for text editors? Emacs isn't terribly difficult to use, but if my livelihood and the majority of my time is tied to what tools I use, then it's worth the investment of time. I don't think I've met an Emacs user who has put in the effort of learning Elisp and customizing Emacs to their liking ever deny the benefits of learning it in the first place. Yes, it's a pain in the ass initially. I quit Emacs twice before I became determined to stop whining and spend quality time learning about tooling.

There is no doubt that Emacs has a steep learning curve and perhaps that's because its developers have a higher expectation of its users. I would argue that these expectations are easily matched by the capabilities of a competent programmer.

mkhattab··on Redesigned Python.org
I think it would be awesome if the main page had an online interpreter so that a visitor can run the examples in the code slider. Also, I noticed that the project repo has a Procfile, however it starts the Django development server. Do you use Heroku for development testing or production?

Nice work and most definitely a refreshing change.

mkhattab··on Redesigned Python.org
>Django==1.5.4

According to the requirements.txt (https://github.com/python/pythondotorg/blob/master/requireme...)

mkhattab··on DigitalOcean opens a Singapore Datacenter
I guess the reason is because their focus is primarily on expansion. They're trying to put on their big boy pants too soon.
mkhattab··on DigitalOcean opens a Singapore Datacenter
I'm worried about DigitalOcean. I think their priority should be to try to approach feature parity with Amazon or Rackspace. As of now, there are many features that are missing, such as private networking (only available in NYC2), CDN, elastic IP, load balancing, etc.

How about the ability to support attaching metadata to any instance?[0] How difficult is this to implement? More importantly, how would a devops person manage many instances without this feature? Isn't ex-EC2/Rackspace/<others> the target market for DigitalOcean?

--- [0]: http://digitalocean.uservoice.com/forums/136585-digitalocean...

mkhattab··on How To Develop a PCB on a Low Budget
BGA packages are definitely a pain in the ass. Especially highly dense BGAs, which probably require more than 4 layers.

Assuming you have the PCB manufactured, would you assemble the components yourself? I recall being quoted higher for BGA components at a PCB assembly service because they needed to X-ray each BGA for inspection.

mkhattab··on Mastering Vim in Vim
I imagine the spiral symbolizes the point past which a person becomes proficient enough to write Elisp easily. The person then realizes the infinite malleability of Emacs and begins customizing it endlessly.
mkhattab··on The Death Of Expertise
> There was once a time when presidents would win elections and then scour universities and think-tanks for a brain trust; that’s how Henry Kissinger, Samuel Huntington, Zbigniew Brzezinski and others ended up in government service while moving between places like Harvard and Columbia.

I find it interesting that he mentions these controversial figures. It seems to me while he does present interesting arguments for the resentment shown towards experts, I think it's far more pertinent to discuss the greater death of ethics among experts. I think this is the primary cause, the lack of ethics, of distrusting experts when I speak to relatives and friends.

People, experts and laymen, obviously can't study all fields of knowledge so they put their "faith" in others. An expert in Biology is most likely a layman in Physics, so they implicitly trust their Physicists friends when relaying scientific progress. A physician is obviously an expert at medicine but most likely a poor software developer so they implicitly trust their software developer friends to advise them.

Perhaps I'm conflating institutional expertise with a mastery of one's field. However, the ethical issue still exists.

mkhattab··on Coding Horror: The Magpie Developer (2008)
I'm reminded of Peter Norvig's "Teach Yourself Programming in Ten Years."[0] How can we develop intuition about new tools if their half-life is measured in days while intuition takes perhaps years to develop?

--- [0]: http://norvig.com/21-days.html

mkhattab··on Dell XPS 13 Developer Edition review
I'm conflicted about the price being in the range of MBPs and Dell competing with Apple, supposedly, based on quality and design. I think they would be much more competitive if they were to price this laptop significantly cheaper than MBPs without sacrificing too much quality. I think Dell has the resources to do this. It's difficult for me to ignore brand image and I guess this makes me a fan boy. Although, I really do want a decent Linux laptop. I will keep an eye on the XPS13 in case I make the switch.
mkhattab··on Benchmarking D vs Go vs Erlang vs C for MQTT broker
Perhaps even more impressive is that it was written by an Erlang novice. This makes me want to hit the books and start learning Erlang again.
mkhattab··on 30 Window Managers in 30 Days
i3 will use different workspaces for each monitor. So if you have dual monitors by default, the primary monitor will be workspace 1 and the secondary will be workspace 2. Workspaces are created and destroyed as needed, that is they're existing only when windows are attached.

One problem I had with Awesome is that sometimes pop ups from Chrome on one monitor would end up on another. I also had trouble switching focus between dual monitors. As a result, I would need to use my mouse. i3 multi-monitor support is more seamless compared to Awesome.

mkhattab··on The genius and folly of MongoDB
I think you're onto something here.
mkhattab··on 30 Window Managers in 30 Days
Great list, although like most tools the full experience comes after spending a great deal of time tinkering with it. Two of my favorites on that list are awm (Awesome) and i3. I started with awm after using the mess that is Unity (Ubuntu) then switched to OSX. Then I started missing tiling window managers, so I started using spectacle, which is great. Recently my SSD failed on my MBA so I switched to Ubuntu and to the even greater mess than before, Unity. Apparently one needs SLI/Crossfire to get acceptable performance in Unity. So, I switched back awm which is still great but shit when it comes to multi-monitor support out of the box. Finally switched to i3. Moral of the story is one should use what works best for him/her as long as it's not Unity.
mkhattab··on Introducing Private Networking
Great news for the NYC2 datacenter. I'm just waiting for the SFO to have this feature, among other things. One other critical feature I think should be implemented is the ability deploying instances to different physical hosts in master/slave setups, either automatically or manually[0].

[0]: http://digitalocean.uservoice.com/forums/136585-digital-ocea...

mkhattab··on Packagers don't know best
I love that the OP brought up FreeSWITCH because this is one example where I believe it's most troubling for package maintainers, software engineers and system implementers alike. From a software engineer's perspective, including 3rd party libraries in one source tree it transfers the burden of maintenance and support to one project maintainer. Not reinventing the wheel is good and all, but you still have to maintain its integrity.

From a package maintainer's perspective, especially in the case of Debian, they must ensure that packages are stable and secure. It's their job to make sure security updates are released. In the case of FreeSWITCH, there's no distinction between the main source and its dependencies. Package maintainers might as well not bother with including software like FreeSWITCH in their repos or risk the integrity of their system.

System implementer's are mostly ambivalent about these issues until their distro's FreeSWITCH package includes broken dependencies or until their FreeSWITCH installation has a security exploit due to a library that can't be patched independently.

I love FreeSWITCH but I'm sorry to say that it's poorly architected. However, I'm a system implementer, so I don't care.

mkhattab··on U.S. charges Edward Snowden with espionage
I disagree. To "shit on their mothers" would actually motivate those who are placated and apathetic to act and mobilize. In my mind, only very few persons would take to the streets and sacrifice their livelihoods and personal convenience for abstract ideas and principles. Case in point, Edward Snowden.

Until the effects of corruption has reached, in a literal sense, the doors of most Americans, we might see citizens act and begin to stand for abstract ideas such as privacy, due process, etc. But I think they would only continue until it becomes most inconvenient for them.

I guess this is a cynical way of looking at people but maybe I'm not in a good state of mind at the moment.

mkhattab··on Sony will allow indie devs to publish their own games on PlayStation 4
Yes, but what about the SDK costs? I believe special development hardware was required for PS3 development which had/has a cost of around $10k. If Sony is offering similar pricing for the PS4 SDK then what's the point of indie publishing?
mkhattab··on Encrypt your Google chats and make the NSA sad
That survey is flawed because it's based on culturally influenced beliefs of Muslims in tribal-based societies where the concept of honor has a higher precedence than religion itself. I believe you would find similar results among Christian and Jewish populations in the Middle-east. For instance, in Egypt, where I've lived for a considerable time, Christians and Muslims share practically the same family values with varying degrees. If a Christian woman and Muslim man, or vice-versa, decide to elope then either of them risk being honor-killed or at the very least disowned.
mkhattab··on The Open Source Report Card: Dynamic progress reports for Github developers
Yes, the wording is a little weird. Yet, still it doesn't make sense to make the assertion that a user is vulgar because they might have said the word 'shitty' once or twice.
mkhattab··on The Open Source Report Card: Dynamic progress reports for Github developers
I looked up bitprophet's report card (maintainer of Fabric and other cool stuff). Was surprised by this:

  I hate to say it but Jeff is becoming—as one of the top 96%
  most vulgar users on GitHub—a tad foul-mouthed (with a
  particular affinity for filthy words like 'shitty').
mkhattab··on Arduino Uno vs BeagleBone vs Raspberry Pi
It's a lot more difficult than that. Perhaps designing a board around a low-speed microcontroller is easier for beginners but definitely not a modern SoC. One of the reasons is because most of these SoCs come in highly dense BGA (ball-grid array) packages and usually this means you'll need more layers to route traces on your board, which introduces more complexity. Another reason, perhaps the most important, is that there are a lot more pitfalls in designing high speed PCBs. Unfortunately, I do not know much more about this.
mkhattab··on Org Mode Release 8.0
Just download Emacs from here: http://emacsformacosx.com

Org-mode is perfect for taking notes in class, especially if it's a programming class. In that case, you could use Org-Babel[1].

[1]: http://orgmode.org/worg/org-contrib/babel/

mkhattab··on Ask HN: Recommend a good website/person to create telephony voice prompts.
Try oDesk, specifically Robin Brooke-Burry, she's awesome[1]. She also has some demos available on her website[2].

--

[1]: https://www.odesk.com/o/profiles/users/Professional-Voice-Ov...

[2]: http://www.babblingbrookeproductions.com/Demos.html

mkhattab··on Egypt catches divers cutting Internet cable amid disruptions
As an Egyptian, this is seriously bedan[1]. Though it's not surprising that some people would do something like this, the article doesn't provide much context/information. I could provide many personal anecdotes of people cutting telephone lines, throwing nails and spikes in the streets and doing other diabolical shit for no good reason.

-- [1]: http://www.urbandictionary.com/define.php?term=bedan

mkhattab··on The PyCon Incident
You're right, if only if it was just pissy temper tantrums. But a person, with a wife and kids, lost their job and quite possibly their livelihood. You could say that it was ultimately his fault for making such jokes but as many have already pointed out this incident does a disservice to women in tech by alienating male developers.

Don't know what else to say. This entire incident seems surreal to me.

mkhattab··on Adding Empty Set Literals to Python
> There's a performance penalty to using Python, too.

I agree, but if it wasn't for the fact that using dict() is six times slower than using literals then it wouldn't make much of a difference arguing code style [1].

> (By that logic, you should represent sets as {'element': 1} instead of set('element'), because calling the function "set" is slower than making a dictionary object from the special syntax.)

Which is why I guess there are now set literals in Python (just not for empty sets :).

-- [1]: http://doughellmann.com/2012/11/the-performance-impact-of-us...

mkhattab··on Adding Empty Set Literals to Python
I think {,} is intuitive because it reminds me of syntax for one-element tuples, e.g. (1,) -- but it may make code harder to read, which is not Pythonic.
mkhattab··on Adding Empty Set Literals to Python
I also prefer the dict() function as well as JS object literals but it's too bad there's a performance penalty to using dict().
mkhattab··on Django Best Practices
> Is there any total noobs guide to automated deployment? Everything I have seen to this day assumes some knowledge of sysops and the whole ecosystem of that specific deployment tool (e.g. like it assumes I knew what is a 'cookbook', or where to find them, etc).

You need to have some knowledge of sysops to use automated deployment tools. I guess it's why they were created in the first place, i.e. not for beginners but for those with enough knowledge/skill to automate tedious sys admin tasks. Perhaps the best solution for you is to use a PaaS like Heroku, EngineYard, Google App Engine, etc.

← PreviousPage 2 of 5Next →