Site uses cookies to provide basic functionality.
Javascript rendering is set to off by default when visiting the site via .onion and .i2p domains. It can be enabled back again in user's settings section. Javascript rendering set to off means, that you can disable javascript in your browser now and the site will remain functional.
There is also IRC server now available via native IRC clients or non javascript web based one.
Fonts can be adjusted in user's settings section as well.
Check FAQ for more.

OK

As you may have noticed, the site has changed its look. That’s because I made a small rewrite and it resulted in a new static site generator. It’s my another NIH product, this time it’s written in Go. stash away I used stash before. It was written in UNIX Shell and was really perfect for my needs. Then it became slower and slower. The reason is that it could not track the timestamps of the web pages so it regenerated every page every time.

One of the key attributes I look for when writing and reviewing code is that code should express the intent of the developer more than the mechanism used to achieve that intent. In other words, code should read as much as possible as if it were a description of the end goal to be achieved. The mechanism used to achieve that goal is secondary. Over the years, I’ve found this emphasis improves the quality of a system by making it easier to w....

Screenshot Saturday 203 - etodd.io - 11 years ago - eng
Big update this week! My voxel renderer now has the capability to overlay everything with any texture I want. I'm using it on a new set of interconnected winter levels. This way I don't have to manually come up with a frosty version of each texture. Without giving away too much, this week I built a new system that has implications for both puzzle solving and movement mechanics.

http://code.flickr.net/2014/10/15/the-ins-and-outs-of-the-yahoo-flickr-100-million-creative-commons-… […]


Design Patterns - june.kim - 11 years ago - eng

Design Patterns - june.kim - 11 years ago - eng

This is a walk through of how to set up Google PageSpeed Insights within your existing gulp project. This way, you can get your page speed score information within your terminal without first needing to push your site to a live server.

Introduction I am asked quite a bit about when and when not to use pointers in Go. The problem most people have, is that they try to make this decision based on what they think the performance tradeoff will be. Hence the problem, don’t make coding decisions based on unfounded thoughts you may have about performance. Make coding decisions based on the code being idiomatic, simple, readable and reasonable.

Most large software projects include automated testing and the reasons are obvious. But what about smaller, even toy projects? There should be some extremely lightweight unit-testing frameworks/libraries that would easily fit even the smallest project needs. Unit testing should be easy to start. Otherwise people won’t bother with writing tests at all (unless they are forced to). People don’t like learning complex frameworks to run just a do..



Most large software projects include automated testing and the reasons are obvious. But what about smaller, even toy projects? There should be some extremely lightweight unit-testing frameworks/libraries that would easily fit even the smallest project needs. Unit testing should be easy to start. Otherwise people won’t bother with writing tests at all (unless they are forced to). People don’t like learning complex frameworks to run just a do..

Back in May we looked at how to setup Access Controls with NGinx. I didn't mention how I test it though. In order to test the different rules, the requests needed to originate from different IP ranges, which in turn meant that I would need to send the requests from different networks. As I find the idea of fidgeting with cables or hotspots to be more than slightly annoying, I opted to tunnel request out of my internal network using a SOCKS ..

The best place to start our journey through quantum computing is to recall how classical computing works and try to extend it. Since our final quantum computing model will be a circuit model, we should informally discuss circuits first. A circuit has three parts: the “inputs,” which are bits (either zero or one); the “gates,” which represent the lowest-level computations we perform on bits; and the “wires,” which connect the outputs of gate..

The best place to start our journey through quantum computing is to recall how classical computing works and try to extend it. Since our final quantum computing model will be a circuit model, we should informally discuss circuits first. A circuit has three parts: the “inputs,” which are bits (either zero or one); the “gates,” which represent the lowest-level computations we perform on bits; and the “wires,” which connect the outputs of gate..

The best place to start our journey through quantum computing is to recall how classical computing works and try to extend it. Since our final quantum computing model will be a circuit model, we should informally discuss circuits first. A circuit has three parts: the “inputs,” which are bits (either zero or one); the “gates,” which represent the lowest-level computations we perform on bits; and the “wires,” which connect the outputs of gate..


In my last post , I started porting the RPN calculator example from Java to Clojure, moving a functional program into a functional language. In this post, I finish the work and show how the Clojure calculator models both state and calculator commands. Going back to the last post, the Clojure version of the Read-Eval-Print-Loop (REPL) has the following code. ( defn main [] ( loop [ state ( make-initial-state ) ] ( let [command ....

Here’s a little how-to on how to use the new syncthing-plugin for your Freenas-server. Syncthing is an opensource file synchronisation client/server application. It’s a great alternative to btsync or Dropbox. Note: The following text contains passages from my other guide on how to setup Freenas 9.2.1 with Transmission and Couchpotato/Sickbeard as a DLNA -Server . That’s because there are many similar steps to perform when setting u....


I've been doing a lot of research and experimentation lately about how people learn. This post might give you some ideas to improve your own comprehension and think about your own learning style.

Every once in a while I see somewhere a wrong import to the old, deprecated junit.framework instead of org.junit.


Simple 2 - tomforb.es - 11 years ago - eng
I’ve just about finished the next version of Simple , the markdown based blog that powers this site. When I first made Simple it was because I disliked WordPress, which seemed a bit too bloated. Then I saw Svbtle and I really liked the minimalist design (mostly the posting interface ) and decided to...

Simple 2 - tomforb.es - 11 years ago - eng
I’ve just about finished the next version of Simple , the markdown based blog that powers this site. When I first made Simple it was because I disliked WordPress, which seemed a bit too bloated. Then I saw Svbtle and I really liked the minimalist design (mostly the posting interface ) and decided to...


Robotics - kdheepak.com - 11 years ago - eng


Airspy is an SDR with amazing specs, but drivers are slowly coming to your prefered os. This apply to Arch but should apply to any recent Linux. I’ve first compiled libairspy but always had the error AIRSPY_ERROR_NOT_FOUND and "usbfs: interface 0 claimed by airspy while 'airspy_info' sets config #1" Since Linux 3.17 comes with an airspy v4l autoloaded driver making impossible to use it with libusb: no airspy_info and no gqrx.

Tasker projects - kdheepak.com - 11 years ago - eng

Screenshot Saturday 202 - etodd.io - 11 years ago - eng
I've come to several realizations this week. Lemma is going to be good, but not great. I have to accept my limitations and finish the thing to the best of my ability. Lemma is more of an experience than a traditional video game. With these two ideas in mind, I am focusing the next few months on making Lemma the least frustrating, most enjoyable experience I can. So I'm trying to come up with puzzles that seem difficult but are actuall..


Yesterday I put in claustrophobia for the snails. Jars have a capacity attribute - a maximum number of snails that they should hold. But just because a jar with a capacity of 20 may not be able to support 25 snails very well doesn’t mean the snails are going to conveniently stop reproducing or hatching (if it is a breeding jar). Instead, they’re just going to get uncomfortable enough to eat their babies.

Hi, So back in 2013 I wrote a post on automating the creation of a Virtual Machine, and installation of all my loved bits of software, using Chocolaty and Remote Powershell. Well things have moved on in the Azure IAAS world and we have a nice new way to automate installation and configuration of VM’s. PowerShell DSC (desired state configuration) gives you a nice declarative way to define the setup of your machine. It also allows you t..


Git baffles - www.craigpardey.com - 11 years ago - eng
I’ve been using DVCSs for more than four years and I love them. Both Git and Mercurial are excellent source control tools, each with their strong points and their warts. The biggest difference between the two is the learning curve. I was very comfortable with Mercurial after only a few weeks and the same has held true wherever I’ve introduced it. It took me about six months to get to the same comfort level with Git. And that was with t..



I haven’t updated in a long time and it’s because the battle with snail brains has been raging on. Over the past few weeks I have run into several weird behavioural problems, including but not limited to:

I’m working on a project that requires Geo proximity search. Basically, what I’m doing is plotting a radius around a point on a map, which is defined by the distance between two points on the map given their latitudes and longitudes. To achieve this I’m using the Haversine formula (spherical trigonometry). This equation is important […]

Quantum mechanics is one of the leading scientific theories describing the rules that govern the universe. It’s discovery and formulation was one of the most important revolutions in the history of mankind, contributing in no small part to the invention of the transistor and the laser. Here at Math ∩ Programming we don’t put too much emphasis on physics or engineering, so it might seem curious to study quantum physics. But as the reader is ..

Quantum mechanics is one of the leading scientific theories describing the rules that govern the universe. It’s discovery and formulation was one of the most important revolutions in the history of mankind, contributing in no small part to the invention of the transistor and the laser. Here at Math ∩ Programming we don’t put too much emphasis on physics or engineering, so it might seem curious to study quantum physics. But as the reader is ..

Quantum mechanics is one of the leading scientific theories describing the rules that govern the universe. It’s discovery and formulation was one of the most important revolutions in the history of mankind, contributing in no small part to the invention of the transistor and the laser. Here at Math ∩ Programming we don’t put too much emphasis on physics or engineering, so it might seem curious to study quantum physics. But as the reader is ..

102 visitors online