"Diez aplicaciones Android para facilitar la vida del estudiante" http://t.co/5SFohOKIis
— Codigo_Simple (@Codigo_Simple) September 7, 2013
https://twitter.com/Manz/status/376081392519880704
Instalando Kali Linux en un dispositivo Android – Manual Oficial http://t.co/Km0IMIExV3
— DragonJAR (@DragonJAR) September 3, 2013
MIUI, la tienda de aplicaciones de Xiaomi, consigue 1.000.000.000 descargas en 391 días: Xiaomi, la… http://t.co/r8ldisBiPQ @androtalk
Por defecto en Linux, algo que resulta un poco engorroso, según que caso, es no conocer cuántos caracteres llevamos escritos cuando estamos rellenando el campo de una contraseña bajo un terminal. Algunos dirán que es más seguro no mostrar cuántos caracteres se escriben, de esta manera si alguien nos estuviera mirando lo tendría más difícil a la hora de tratar de averiguar lo escrito.

Sea como fuere, prefiero tener ese feedback de que estoy escribiendo en el momento que escribo, y no solo hablo de la pulsación de una tecla física del teclado. Bien, así, la forma de solventarlo es fácil. Abrimos un terminal y ejecutamos visudo:
Dutyful es una herramienta que se ofrece como complemento al concepto de “standup meeting”, una reunión de equipo que se realiza cada día antes de empezar a trabajar. Este tipo de reuniones forman parte de metodologías ágiles como Scrum.
Como seña de identidad Dutyful es una herramienta que utiliza el correo electrónico como pieza fundamental para gestionar equipos y fomentar la colaboración, de la forma más sencilla y cómoda posible.
Dutyful envía un correo diario a los miembros del equipo de trabajo, preguntando lo que se ha hecho en el día. Cada miembro del equipo responde a ese email comentando los avances y objetivos que ha conseguido en la jornada.
La codificación empleada en un fichero es extremadamente importante en ciertas situaciones. Se me ocurren dos por ahora: he intentado importar un CSV a LibreOffice Calc y si no llego a dar con la codificación exacta, no hubiera podido tener los datos o al menos no con tildes, eñes, etc.
Otro caso que se me ocurre, tenemos un servidor web que envía contenido web en un charset diferente al que aparece en la etiqueta <meta>, cierto navegador (Internet Explorer) tiene un problema de visualización por esta causa.
Invent Your Own Computer Games with Python es un libro gratuito y libre que te enseña a programar juegos de ordenador en Python. Cada ciertos capítulos te muestra el código completo de un nuevo juego y luego te explica los conceptos de programación de dicho código.
Uno de los juegos más sencillos y más interesantes para aprender es el Tres en Raya, aquí os paso el código completo para ejecutarlo en Python 3 en adelante.
# Tic Tac Toe import random def drawBoard(board): # This function prints out the board that it was passed. # "board" is a list of 10 strings representing the board (ignore index 0) print(' | |') print(' ' + board[7] + ' | ' + board[8] + ' | ' + board[9]) print(' | |') print('-----------') print(' | |') print(' ' + board[4] + ' | ' + board[5] + ' | ' + board[6]) print(' | |') print('-----------') print(' | |') print(' ' + board[1] + ' | ' + board[2] + ' | ' + board[3]) print(' | |') def inputPlayerLetter(): # Let's the player type which letter they want to be. # Returns a list with the player's letter as the first item, and the # computer's letter as the second. letter = '' while not (letter == 'X' or letter == 'O'): print('Do you want to be X or O?') letter = input().upper() # the first element in the tuple is the player's letter, the second is # the computer's letter. if letter == 'X': return ['X', 'O'] else: return ['O', 'X'] def whoGoesFirst(): # Randomly choose the player who goes first. if random.randint(0, 1) == 0: return 'computer' else: return 'player' def playAgain(): # This function returns True if the player wants to play again, otherwise # it returns False. print('Do you want to play again? (yes or no)') return input().lower().startswith('y') def makeMove(board, letter, move): board[move] = letter def isWinner(bo, le): # Given a board and a player's letter, this function returns True if that # player has won. We use bo instead of board and le instead of letter so # we don't have to type as much. return ((bo[7] == le and bo[8] == le and bo[9] == le) or # across the top (bo[4] == le and bo[5] == le and bo[6] == le) or # across the middle (bo[1] == le and bo[2] == le and bo[3] == le) or # across the bottom (bo[7] == le and bo[4] == le and bo[1] == le) or # down the left side (bo[8] == le and bo[5] == le and bo[2] == le) or # down the middle (bo[9] == le and bo[6] == le and bo[3] == le) or # down the right side (bo[7] == le and bo[5] == le and bo[3] == le) or # diagonal (bo[9] == le and bo[5] == le and bo[1] == le)) # diagonal def getBoardCopy(board): # Make a duplicate of the board list and return it the duplicate. dupeBoard = [] for i in board: dupeBoard.append(i) return dupeBoard def isSpaceFree(board, move): # Return true if the passed move is free on the passed board. return board[move] == ' ' def getPlayerMove(board): # Let the player type in his move. move = ' ' while move not in '1 2 3 4 5 6 7 8 9'.split() or not isSpaceFree(board, int(move)): print('What is your next move? (1-9)') move = input() return int(move) def chooseRandomMoveFromList(board, movesList): # Returns a valid move from the passed list on the passed board. # Returns None if there is no valid move. possibleMoves = [] for i in movesList: if isSpaceFree(board, i): possibleMoves.append(i) if len(possibleMoves) != 0: return random.choice(possibleMoves) else: return None def getComputerMove(board, computerLetter): # Given a board and the computer's letter, determine where to move and # return that move. if computerLetter == 'X': playerLetter = 'O' else: playerLetter = 'X' # Here is our algorithm for our Tic Tac Toe AI: # First, check if we can win in the next move for i in range(1, 10): copy = getBoardCopy(board) if isSpaceFree(copy, i): makeMove(copy, computerLetter, i) if isWinner(copy, computerLetter): return i # Check if the player could win on his next move, and block them. for i in range(1, 10): copy = getBoardCopy(board) if isSpaceFree(copy, i): makeMove(copy, playerLetter, i) if isWinner(copy, playerLetter): return i # Try to take one of the corners, if they are free. move = chooseRandomMoveFromList(board, [1, 3, 7, 9]) if move != None: return move # Try to take the center, if it is free. if isSpaceFree(board, 5): return 5 # Move on one of the sides. return chooseRandomMoveFromList(board, [2, 4, 6, 8]) def isBoardFull(board): # Return True if every space on the board has been taken. Otherwise # return False. for i in range(1, 10): if isSpaceFree(board, i): return False return True print('Welcome to Tic Tac Toe!') while True: # Reset the board theBoard = [' '] * 10 playerLetter, computerLetter = inputPlayerLetter() turn = whoGoesFirst() print('The ' + turn + ' will go first.') gameIsPlaying = True while gameIsPlaying: if turn == 'player': # Player's turn. drawBoard(theBoard) move = getPlayerMove(theBoard) makeMove(theBoard, playerLetter, move) if isWinner(theBoard, playerLetter): drawBoard(theBoard) print('Hooray! You have won the game!') gameIsPlaying = False else: if isBoardFull(theBoard): drawBoard(theBoard) print('The game is a tie!') break else: turn = 'computer' else: # Computer's turn. move = getComputerMove(theBoard, computerLetter) makeMove(theBoard, computerLetter, move) if isWinner(theBoard, computerLetter): drawBoard(theBoard) print('The computer has beaten you! You lose.') gameIsPlaying = False else: if isBoardFull(theBoard): drawBoard(theBoard) print('The game is a tie!') break else: turn = 'player' if not playAgain(): break
La cosa va de Androids y Xiaomis 🙂
@ntoniofernandez @miguelcalero vamos a oír hablar de Xiaomi. Y a Google le va a doler el asunto H. Barra, su novia y el divorcio de S. Brin
— Jesús Duarte (@bitsandhits) August 31, 2013
TravelNews Todo lo que debes saber sobre Xiaomi #Socialmedia http://t.co/W3QDvKjmsX
— Travel Report Trade (@TradebyTravel) August 29, 2013
Hugo Barra deja Android y se une a Xiaomi como Vicepresidente http://t.co/g38mvtKc79