Skip to content

Instantly share code, notes, and snippets.

View pedrogk's full-sized avatar

Pedro Galvan pedrogk

View GitHub Profile
@pedrogk
pedrogk / Factores primos con TDD.py
Created November 21, 2012 19:14
Código para calcular factores primos bajo filosofía de TDD. Creado por Alfredo Chavez (@alfredochv) y utilizado en el artículo "Test Driven Development: Guia para los no iniciados" publicado en SG #38.
from unittest import main, TestCase
class TestPrimeFactors(TestCase):
def testPrimesOf0to1(self):
self.assertEquals([], factorsOf(0))
self.assertEquals([], factorsOf(1))
def testPrimesOf2to4(self):
self.assertEquals([2], factorsOf(2))
self.assertEquals([3], factorsOf(3))
self.assertEquals([2,2], factorsOf(4))
@pedrogk
pedrogk / CPUIdApp.java
Created November 12, 2013 07:19
Versión original de CPUIdApp.java al ser creada automáticamente.
package com.example.cpuid;
import android.app.Activity;
import android.os.Bundle;
public class CPUIdApp extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
@pedrogk
pedrogk / cpuid.c
Created November 12, 2013 07:34
Código para parsear la salida del comando cpuid y determinar las capacidades del procesador.
#include <stdio.h>
#define HT_FLAG 0x10000000
#define SSE_FLAG 0x02000000
#define SSE2_FLAG 0x04000000
#define SSSE3_FLAG 0x00000200
#define SSE4_1_FLAG 0x00080000
#define SSE4_2_FLAG 0x00100000
void cpuid(unsigned info, unsigned *eax, unsigned *ebx, unsigned *ecx, unsigned *edx)
{
@pedrogk
pedrogk / CPUIdApp.java
Created November 12, 2013 07:43
versión ajustada de CPUIdApp.java con código JNI.
package com.example.cpuid;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class CPUIdApp extends Activity
{
/** Called when the activity is first created. */
@Override
@pedrogk
pedrogk / com_example_cpuid_CPUIdApp.c
Created November 12, 2013 08:23
Código en C para especificar la llamada JNI.
#include "com_example_cpuid_CPUIdApp.h"
extern void cpuid_parse(char *buf);
JNIEXPORT jstring JNICALL Java_com_example_cpuid_CPUIdApp_cpuid_1get(JNIEnv *env, jclass jc)
{
char buf[1024];
cpuid_parse(buf);
return (*env)->NewStringUTF(env, buf);
}
@pedrogk
pedrogk / Android.mk
Created November 12, 2013 08:34
Makefile para construir proyecto NDK.
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := cpuid
LOCAL_SRC_FILES := cpuid.c com_example_cpuid_CPUIdApp.c
include $(BUILD_SHARED_LIBRARY)
@pedrogk
pedrogk / spacecanvas.html
Created March 4, 2014 18:28
Código en html y javascript para hacer un canvas con una imagen de fondo con estrellas y una nave espacial que se mueve al detectar un evento touch.
<!DOCTYPE html>
<html>
<head>
<title>Space Canvas</title>
</head>
<body>
<h1>Juego de nave espacial con Canvas</h1>
<canvas id="spaceCanvas" width="300" height="300">
</canvas>
</body>
@pedrogk
pedrogk / ptolemy.java
Last active August 29, 2015 14:10
Listado 1. Aplicación de aspectos y DbC con Ptolemy
// El evento se notifica cuando Entero cambia
void event IntEvento {
// variables de contexto
int x,y;
// Contrato translúcido. Iniciamos con precondición.
requires x < 25 && y < 120
assumes {
next.invoke();
establishes next.x() == old(next.x());
}
@pedrogk
pedrogk / gist:686b3edfa8d41f09177f
Created May 11, 2015 02:12
SG47. Arbol binario en Pascal 1
nodoptr = ^nodo; //el apuntador del nodo apunta a un nodo
nodo = record //esta es la definición del nodo
algúndato: string; //palabra a guardar
izquierda, derecha: nodoptr;
end;
@pedrogk
pedrogk / App.cs
Last active August 29, 2015 14:21
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Xamarin.Forms;
namespace SG {
public class App {
public static Page GetMainPage() {
return new ContentPage {