This is Jawher Moussa's blog, in which he writes about technical stuff

  • home
  • bookmarks
  • my projects
  • twitter
  • github
  • feed

Bookmarks and interesting stuff on the interwebs

  • 02 January 2016

    Reverse engineering the ARM1 ⇾

    www.righto.com

    The ARM1 chip is built from functional blocks, each with a different purpose. Registers store data, the ALU (arithmetic-logic unit) performs simple arithmetic, instruction decoders determine how to handle each instruction, and so forth. Compared to most processors, the layout of the chip is simple, with each functional block clearly visible. (In comparison, the layout of chips such as the 6502 or Z-80 is highly hand-optimized to avoid any wasted space. In these chips, the functional blocks are squished together, making it harder to pick out the pieces.)

  • 21 May 2015

    Go Is Unapologetically Flawed, Here’s Why We Use It ⇾

    bravenewgeek.com

    To put it mildly, Go’s type system is impaired. It does not lend itself to writing quality, maintainable code at a large scale, which seems to be in stark contrast to the language’s ambitions. The type system is noble in theory, but in practice it falls apart rather quickly. Without generics, programmers are forced to either copy and paste code for each type, rely on code generation which is often clumsy and laborious, or subvert the type system altogether through reflection. Passing around interface{} harks back to the Java-pre-generics days of doing the same with Object. The code gets downright dopey if you want to write a reusable library.

  • 26 January 2015

    Le challenge du logo ANSSI ⇾

    blog.bienaime.info

    Le 3 février 2012, l'agence nationale de la sécurité des systèmes d'information (ANSSI) a publié son nouveau logo et a eu la bonne idée d'y cacher un challenge de sécurité informatique. Des morceaux de solution furent rapidement trouvés et rendus publics, mais ce challenge a su se faire désirer puisque deux ans plus tard, j'ai finalement été le premier à en voir le bout. Dans cet article, je vous présente ma solution, le raisonnement adopté, les galères rencontrées ainsi qu'un petit bonus, le tout sur un ton assez peu formel.

  • 25 January 2015

    Staying Hungry, Staying Foolish ⇾

    rob.conery.io

    The problem is that when we start out as software developers we don’t know the “right way” to do things so we are less constrained in what we do. We just march forward and go do things. As we start to learn the “right way” to do things, we are often stifled by that knowledge and the constraints it brings and that causes us to be less productive or to over engineer and design solutions to problems.

  • 16 January 2015

    Awk in 20 Minutes ⇾

    ferd.ca

    I love the writing style: terse and effective !

  • 16 January 2015

    A Localization Horror Story: It Could Happen To You ⇾

    search.cpan.org

    There are a number of languages spoken by human beings in this world.

    -- Harald Tveit Alvestrand, in RFC 1766, "Tags for the Identification of Languages"

  • 02 May 2014

    Programming sucks ⇾

    stilldrinking.org

    Every programmer occasionally, when nobody's home, turns off the lights, pours a glass of scotch, puts on some light German electronica, and opens up a file on their computer. It's a different file for every programmer. Sometimes they wrote it, sometimes they found it and knew they had to save it. They read over the lines, and weep at their beauty, then the tears turn bitter as they remember the rest of the files and the inevitable collapse of all that is good and true in the world. This file is Good Code. It has sensible and consistent names for functions and variables. It's concise. It doesn't do anything obviously stupid. It has never had to live in the wild, or answer to a sales team. It does exactly one, mundane, specific thing, and it does it well. It was written by a single person, and never touched by another. It reads like poetry written by someone over thirty.

  • 15 February 2014

    Deep C (and C++) ⇾

    www.slideshare.net

    Programming is hard. Programming C and C++ is particularly hard...

  • 04 January 2014

    They Write the Right Stuff ⇾

    www.fastcompany.com

    As the 120-ton space shuttle sits surrounded by almost 4 million pounds of rocket fuel, exhaling noxious fumes, visibly impatient to defy gravity, its on-board computers take command ...

  • 04 January 2014

    The Builder's High ⇾

    randsinrepose.com

    Is there a Facebook update that compares to building a thing? No, but I’d argue that 82 Facebook updates, 312 tweets, and all those delicious Instagram updates are giving you the same chemical impression that you’ve accomplished something of value. Whether it’s all the consumption or the sense of feeling busy, these micro-highs will never equal the high when you’ve actually built ...

  • 02 January 2014

    The spiral of Learning ⇾

    sdqali.in

    An hour ago, I was staring at a problem on the 4clojure website. Last weekend, I found myself wandering through Zed Shaw’s Learn C the Hard Way. Three days before that, I was taking a stab at figuring what kind of visualizations would make sense if you want to come up with the mother of all comparison’s between two of football’s greatest ever players. Four days before that, I was looking at some classifiers. Five weeks ago, I was totally lost in Learn You Some Erlang, and three weeks before that I was trying to make sense of all the hype around Node.js.

  • 31 December 2013

    Build your own FPGA ⇾

    blog.notdot.net

    How to build FPGA logic blocks using discrete 7400 logic chips

  • 30 December 2013

    Russ Olsen - To the Moon! ⇾

    www.youtube.com

    A most inspiring and highly recommended talk by Russ Olsen. Watch it, it's worth it.

  • 31 August 2013

    OSI: The Internet That Wasn’t ⇾

    spectrum.ieee.org
  • 31 August 2013

    It’s Not About the Unit Tests ⇾

    pragprog.com
  • 31 August 2013

    DIY Cellphone ⇾

    web.media.mit.edu

    DIY cellphone

  • 31 August 2013

    Reversing Sinclair's amazing 1974 calculator hack - half the ROM of the HP-35 ⇾

    files.righto.com
  • 31 March 2013

    The tale of a banana and 5 chimpanzees ⇾

    security.stackexchange.com

    In answer to the question "What technical reasons are there to have low maximum password lengths?", Tom Leek tells us this thought-provoking story:

    Take five chimpanzees. Put them in a big cage. Suspend some bananas from the roof of the cage. Provide the chimpanzees with a stepladder. BUT also add a proximity detector to the bananas, so that when a chimp goes near the banana, water hoses are triggered and the whole cage is thoroughly soaked.

    Soon, the chimps learn that the bananas and the stepladder are best ignored.

    Now, remove one chimp, and replace it with a fresh one. That chimp knows nothing of the hoses. He sees the banana, notices the stepladder, and because he is a smart primate, he envisions himself stepping on the stepladder to reach the bananas. He then deftly grabs the stepladder... and the four other chimps spring on him and beat him squarely. He soon learns to ignore the stepladder.

    Then, remove another chimp and replace it with a fresh one. The scenario occurs again; when he grabs the stepladder, he gets mauled by the four other chimps -- yes, including the previous "fresh" chimp. He has integrated the notion of "thou shallt not touch the stepladder".

    Iterate. After some operations, you have five chimps who are ready to punch any chimp who would dare touch the stepladder -- and none of them knows why.

  • 28 January 2013

    Antibiotic 'apocalypse' warning ⇾

    www.bbc.co.uk

    On the bright side: IBM vastly improves delivery of nanomeds that kill bacteria where antibiotics fail

  • 28 January 2013

    The joys of having a Forever Project ⇾

    www.dev.gd
  • 28 January 2013

    Your Blog is The Engine of Community ⇾

    www.hanselman.com
  • 27 December 2012

    On the Origin of Circuits ⇾

    www.damninteresting.com

    Fascinating: Genetically evolving circuits on FPGAs

  • 18 December 2012

    Go and build amazing applications. Build them with the most boring technology you can find ⇾

    zef.me

    And the obligatory Reddit discussion, with a memorable comment:

    Monads are important programming tool that enable you to write blog entries about monads

  • 18 December 2012

    BBC Micro on an FPGA ⇾

    mikestirling.co.uk
  • 18 December 2012

    Portal's physics engine rebuilt in 25KB on a graphing calculator ⇾

    arstechnica.com
  • 18 December 2012

    HN in a nutshell ⇾

    www.linkedlistnyc.org
  • 17 November 2012

    State of the Lambda: Libraries Edition ⇾

    cr.openjdk.java.net

    I've yet to see how it works in "real world" usage, but I'm liking where this (Java collections with lambda) is heading.

  • 11 November 2012

    Why Technical People Should Blog (But Don’t) ⇾

    www.rackspace.com

    So true ! I've heard these same arguments from at least 3 friends.

  • 11 November 2012

    The amount of crap computer (windows) users have to put up with is incredible ⇾

    dendory.net
  • 09 November 2012

    You promised me Mars colonies. Instead, I got facebook ⇾

    images.digital.technologyreview.com

    damn

  • 07 November 2012

    Why Google Went Offline Today and a Bit about How the Internet Works ⇾

    blog.cloudflare.com
  • 01 November 2012

    Languages, Verbosity, and Java ⇾

    www.informit.com

    Old article, but was reminded of it by Dri. Thanks !

  • 01 November 2012

    Joey Hess minimalism ⇾

    joey.hess.usesthis.com

    A humbling read. Oh, and the obligatory hackers who think this is so "back-wordly".

  • 31 October 2012

    The little ssh that (sometimes) couldn't ⇾

    mina.naguib.ca
  • 30 October 2012

    Evolution of lactose tolerance: Why do humans keep drinking milk ? ⇾

    www.slate.com
  • 24 October 2012

    Every time I have to work with Drupal ⇾

    www.reddit.com

    This strikes a chord with me:

  • 20 October 2012

    RFC 6570 - URI Template ⇾

    tools.ietf.org

    Looks interesting, but I don't think it could be suitable as a syntax for a web framework routing syntax. See also (in french)

  • 19 October 2012

    One sentence per line, please ⇾

    rhodesmill.org

    By starting a new line at the end of each sentence, and splitting sentences themselves at natural breaks between clauses, a text file becomes far easier to edit and version control.

  • 07 October 2012

    Someone was RESTing too much in the security class... ⇾

    blog.ryankearney.com
  • 23 September 2012

    Pythonic Java ⇾

    gist.github.com
  • 17 September 2012

    The World's most influential Languages ⇾

    www.andaman.org

    Real languages, not programming ones ...

  • This is a static site generated using pelican. The code lives at github
  • Last generated: 05 January 2018
  • Old Blog