• Viernes 9 de Mayo de 2025, 14:25

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Enko

Páginas: 1 [2] 3 4 ... 6
26
Sobre los Foros de SoloCodigo / Nueva Sección: "debates Informáticos"
« en: Sábado 24 de Marzo de 2007, 20:21 »
La idea era proponer una nueva seccion que sea exclusivamente de "Debates informáticos".
Ya se que tenemos "La taberna del bit" para eso pero de esa forma tendríamos siertas ventajas:

1)En los buscadores como Google, muchas veces se buscan cosas como "php vs asp", "Java vs .NET" etc....
La idea sería tener una seccion que contenga todas esos DEBATES (no discuciones)
Eso ayudaría al buscador indexar más fácil la página lo que por ahí aumentaría la popularidad. (no estoy tan seguro de eso, ba, uno nunca sabe)
2)¿No estan cansados de opiniones sin fundamentos en las discuciones?
La idea sería que en esta seccion, cualquier post que contenga opiniones no argumentadas sea borrado. Es decir, en una discucion en por ej. "Winodws vs Linux" si alguien postea "Usa Windows es mejor" o "Windows es para perdedores, Aguante Linux", etc... que el moderador tendría que borrarlo.
Eso no pasa en  "La Taberna del Bit" porque alli se puede hablar de lo que sea, como sea, por eso que muchas posts que comienzan como debates, terminan en discuciones a veces, hasta absurdas.
3)La idea sería proponer una nueva discucion cada sierto tiempo 15-30 dias. Cuando pase el periodo, se haría al final un rejunte de las cosas importantes que vale la pena resaltar. (En lo posible en el primer posts, así si alguien entra desde Google, no tiene por que leer todo, similar a las noticias)
4)Una vez que se inicia un debate, estaría bueno que los participantes antes de argumentar posiciones tengan la seguridad de la postura que sositenen, si no estan seguros, investiguen en un la red, libro, etc...
5)Por cada argumento valido, un usario ganaria 1 punto, el que tenga más puntos al final Gana.

Algunas reglas que habría que cumplir (ESTO ES UN PROYECTO, ES 100% MODIFICABLE):
Citar
1)Sobre los tipos de debates:
Los debates pueden ser con o sin votacion
2)Modalidades para el inicio del debate:
En el primer post, se debe presentar el tema del debate y especificar algunos puntos escenciales del tema. Por ejemplo en Java VS .NET podría ser:
  a)Ventajas de uno que sea desventaja del otro
  b)Velocidad
  c)Versatilidad
  d)Documentacion
3)Correcciones en el inicio del debate
Si en los puntos esenciales, llegase a faltar alguno importante, cualquier miembro puede enviar un PM al creador del post para que lo corriga o el moderador. Tambien se podría hacer una respuesta en el thread con la correccion pero que ese despues sea borrado, para facilitar la lectura.
5)El segundo post, Debería contener la lista de los usuarios que participan con los puntos ganados que llevan. (Para ver 5 para ver como se cuentan los puntos)
4a)Sobre opiniones sin argumentos:
No se aceptan opiniones sin fundamentos. Estas serán borradas lo más pronto posible por el moderador.
4b)Sobre opiniones con argumentos invalidos
Si la opinion está basada en un argumento que otro usuario considere invalido, deberá demostrar por medios inequivocos porque está equivocado ese  argumento. Si lo hiciera de esa forma, y quede demostrado que tiene razon, este usuario ganaria 1 punto en el debate y el otro lo perdería.
5)Sobre conteo de puntos:
El usuario que tenga más puntos a favor al final del debate, sería el ganador.
Un opinion argumentada, que demuestra por medios inequivocos que es la correcta, y no este vetada por otro usuario que intente demostrar que está equivocada y no lo logra, esta ganaría 1 punto.
6)Los puntos de los participantes se llevarian con la diferencia de los puntos ganados y perdidos mostrando los tres valores. Algo asi como:
   Usuario   Ganados   Perdidos   Total
   juan      1         2          -1
   pedro     2         0           2

Si consideran que vale la pena la seccion de debates, digan que SI.
Si creen que falta algun articulo para las reglas, tienen toda la libertad para agregar las correcciones.

Podriamos hacer UNA DEBATE DE PRUEBA en "La Taberna del Bit" para ver como resulta.

27
La taberna del BIT / 100 Tips Para Ser Un Señor Diablico
« en: Jueves 22 de Marzo de 2007, 20:17 »
http://www.proft.org/tips/evil.html
Citar
The Top 100 Things I'd Do If I Ever Became An Evil Overlord

   1. My Legions of Terror will have helmets with clear Plexiglas visors, not face concealing ones.
   2. My ventilation ducts will be too small to crawl through.
   3. My noble half-brother whose throne I usurped will be killed, not kept anonymously imprisoned in a forgotten cell in my dungeon.
   4. Shooting is not too good for my enemies.
   5. The artifact which is the source of my power will not be kept on the Mountain of Despair beyond the River of Fire guarded by the Dragon of Eternity. It will be in my safe-deposit box. The same applies to the object which is my one weakness.
   6. I will not gloat over my enemies predicament before killing them.
   7. When I've captured my adversary and he says, "Look, before you kill me, will you at least tell me what this is all about?" I'll say, "No." and shoot him. No, on second thought, I'll shoot him and then say "No."
   8. After I kidnap the beautiful princess, we will be married immediately in a quiet civil ceremony, not a lavish spectacle in three weeks' time during which the final phase of my plan will be carried out.
   9. I will not include a self-destruct mechanism unless absolutely necessary. If it is necessary, it will not be a large red button labelled, "Danger: Don Not Push". The big red button marked "Do Not Push" will instead trigger a spray of bullets on anyone stupid enough to disregard it. Similarly, the ON/OFF switch will clearly not be labelled as such.
  10. I will not interrogate my enemies in the inner sanctum - a small hotel room well outside my border will work just as well.
  11. I will be secure in my superiority. Therefore, I will feel no need to prove it by leaving clues in the form of riddles or leaving my weaker enemies alive to show they pose no threat.
  12. One of my advisors will be an average five-year-old child. Any flaws in my plan that he is able to spot will be corrected before implementation.
  13. All slain enemies will be cremated, or at least several round of ammunition emptied into them, not left for dead at the bottom of the cliff. The announcement of their deaths, as well as any accompanying celebration, will be deferred until after the aforementioned disposal.
  14. The hero is not entitled to a last kiss, a last cigarette, or any other form of last request.
  15. I will never employ any device with a digital count-down. If I find that such a device is absolutely unavoidable. I will set it to activate when the counter reaches 117 and the hero is just putting his plan into operation.
  16. I will never utter the sentence "But before I kill you, there's just one thing I want to know."
  17. When I employ people as advisors, I will occasionally listen to their advice.
  18. I will not have a son. Although his laughably under-planned attempt to usurp power would easily fail, it would prove a fatal distraction at a crucial point in time.
  19. I will not have a daughter. She would be as beautiful as she was evil, but one look at the hero's rugged countenance and she'd betray her own father.
  20. Despite its proven stress-relieving effect, I will not indulge in maniacal laughter. When so occupied, it's too easy to miss unexpected developments that a more attentive individual could adjust to accordingly.
  21. I will hire a fashion designer to create original uniforms for my Legion of Terror, as opposed to some cheap knock-offs that make them look like Nazi stormtroopers, Roman foot soldiers, or savage Mongol hordes. All were eventually defeated and I want my troops to have a more positive mind-set.
  22. No matter how tempted I am with the prospect of unlimited power, I will not consume any energy field bigger than my head.
  23. I will keep a special cache of low-tech weapons and train my troops in their use. That way -- even if the heroes manage to neutralize my power generator and/or render the standard-issue energy weapons useless -- my troops will not be overrun by a handful of savages armed with spears and rocks.
  24. I will maintain a realistic assessment of my strength and weaknesses. Even though this takes some fun out of the job, at least I will never utter the line "No, this cannot be! I AM INVINCIBLE!!!" (After that, death is usually instantaneous.)
  25. No matter how well it would perform, I will never construct any sort of machinery which is completely indestructible except for one small and virtually inaccessible spot.
  26. No matter how attractive certain members of the rebellion are, there is probably someone just as attractive which is not desperate to kill me. Therefore, I will think twice before ordering a prisoner sent to my bed chamber.
  27. I will never build only one of anything important. All important systems will have redundant control panels and power supplies. For the same reason I will always carry at least two fully loaded weapons at all times.
  28. My pet monster will be kept in a secure cage from which it cannot escape and into which I could not accidentally stumble.
  29. I will dress in bright and cheery colors, and so throw my enemies into confusion.
  30. All bumbling conjurers, clumsy squires, no-talent bards, and cowardly thieves in the land will be preemptively put to death. My foes will surely give up and abandon their quest if they have no source of comic relief.
  31. All naive, busty tavern wenches in my realm will be replaced with surly, world-weary waitresses who will provide no unexpected reinforcements and/or romantic sub-plot for the hero or his side-kick.
  32. I will not fly into a rage and kill a messenger who brings me bad news just to illustrate how evil I really am. Good messengers are hard to come by.
  33. I won't require high-ranking female members of my organization to wear a stainless-steel bustier. Morale is better with a more casual dress-code. Similarly, outfits made entirely from black leather will be reserved for formal occasions.
  34. I will not turn into a snake. It never helps.
  35. I will not grow a goatee. In the old days they made you look diabolic. Now they just make you look like a disaffected member of Generation X.
  36. I will not imprison members of the same party in the same cell block, let alone the same cell. If they are important prisoners, I will keep the only key to the cell door on my person instead of handing copies to every bottom-rung guard in the prison.
  37. If my trusted lieutenant tell me my Legion of Terror is losing a battle, I will believe him.. After all, he's my trusted lieutenant.
  38. If an enemy I have just killed has a younger sibling or offspring anywhere, I will find them and have them killed immediately, instead of waiting for them to grow up harboring feelings of vengeance towards me in my old age.
  39. If I absolutely must ride into battle, I will certainly not ride at the forefront of my Legions of Terror, nor will I seek out my opposite number among his army.
  40. I will be neither chivalrous nor sporting. If I have an unstoppable super-weapon, I will use it early and as often as possible instead of keeping it in reserve.
  41. Once my power is secure, I will destroy all of those pesky time travel devices.
  42. When I capture the hero, I will make sure I also get his dog, monkey, ferret, or whatever sickeningly cute little animal capable of untying ropes and filching keys that happens to follow him around.
  43. I will maintain a healthy amount of skepticism when I capture the beautiful rebel and she claims she is attracted to my power and good looks and will gladly betray her companions if I just let her in on my plans.
  44. I will only employ bounty hunters who work for money. Those who work for the pleasure of the hunt tend to do dumb things like even the odds to give the other guy a sporting chance.
  45. I will make sure I have a clear understanding of who is responsible for what in my organization. For example, if my general screws up I will not draw my weapon, point it at him and say "And here is the price for failure." then suddenly turn and kill some random underling.
  46. If an advisor says to me "My liege, he is but one man. What can one man possibly do?", I will reply "This." and kill the advisor.
  47. If I learn that a callow youth has begun a quest to destroy me, I will slay him while he is still a callow youth instead of waiting for him to mature.
  48. I will treat any beast which I control through magic or technology with respect and kindness. Thus if the control is ever broken, it will not immediately come after me for revenge.
  49. If I learn the whereabouts of the one artifact which can destroy me, I will not send all of my troops out to seize it. Instead I will send them out to seize something else and quietly put a Want-Ad in the local paper.
  50. My main computers will have their own special operating system that will be completely incompatible with standard IBM and Macintosh powerbooks.
  51. If one of my dungeon guards begins expressing concern over the conditions of the beautiful princess' cell, I will immediately transfer him to a less people oriented position.
  52. I will hire a team of board-certified architects and surveyors to examine my castle and inform me of any secret passages and abandoned tunnels that I might not know about.
  53. If the beautiful princess that I capture says "I'll never marry you! Never, do you hear me, NEVER!!!", I will say "Oh well" and kill her.
  54. I will not strike a bargain with a demonic being then attempt to double-cross it simply because I feel like being contrary.
  55. The deformed mutants and odd-ball psychotics will have their place in my Legion of Terror. However before I send them out on important covert missions that require tact and subtlety, I will first see if there is anyone else equally qualified who would attract less attention.
  56. My Legion of Terror will be trained in basic marksmanship. Any who cannot learn to hit a man-sized target at 10 meters will be used for target practice.
  57. Before employing any captured artifacts or machinery, I will carefully read the owners manual.
  58. If it becomes necessary to escape, I will never stop to pose dramatically and toss off a one-liner.
  59. I will never build a sentient computer smarter than I am.
  60. My five-year-old child advisor will also be asked to decipher any code I am thinking of using. If he breaks the code in under 30 seconds, it will not be used. Note: This also applies to passwords.
  61. If my advisors ask "Why are you risking everything on such a mad scheme?" I will not proceed until I have a response that satisfies them.
  62. I will design fortress hallways with no alcoves or protruding structural supports which intruders could use for cover in a firefight.
  63. Bulk trash will be disposed of in incinerators, not compactors. And they will be kept hot, with none of this nonsense about flames going through accessible tunnels at predictable intervals.
  64. I will see a compentant psychiatrist and get cured of all extremely unusual phobias and bizarre compulsive habits which could prove to be disadvantageous.
  65. If I must have a computer system with publicly available terminals, the maps they display will have a room clearly marked as the Main Control Room. That room will be the Execution Chamber. The actual main control room will be marked as Sewage Overflow Containment.
  66. My security keypad will actually be a fingerprint scanner. Anyone who watches someone press a sequence of buttons or dusts the pad for fingerprints and then subsequently tries to enter by repeating that sequence will trigger the alarm system.
  67. No matter how many shorts we have in the system, my guards will be instructed to treat every surveillance camera malfunction as a full-scale emergency.
  68. I will spare someone who saved my life sometime in the past. This is only reasonable as it encourages others to do so. However, the offer is good one time only. If they want me to spare them again, they'd better save my life again.
  69. All midwives will be banned from the realm. All babies will be delivered at state-approved hospitals. Orphans will be placed in foster homes, not abandoned in the woods to be raised by creatures of the wild.
  70. When my guards split up to search for intruders, they will always travel in groups of at least two. They will be trained so that if one of them disappears mysteriously while on patrol, the other will immediately initiate an alert and call for backup, instead of quizzically peering around a corner.
  71. If I decide to test a lieutenant's loyalty and see if he/she should be made a trusted lieutenant, I will have a crack squad of marksmen standing by in case the answer is no.
  72. If all the heroes are standing together around a strange device and begin to taunt me, I will pull out a conventional weapon, instead of using my unstoppable super weapon on them.
  73. I will not agree to let the heroes go free if they win a rigged contest, even though my advisors assure me it is impossible for them to win.
  74. When I create a multimedia presentation of my plan designed so that my five-year-old advisor can easily understand the details, I will not label the disk "Project Overlord" and leave it lying on top of my desk.
  75. I will instruct my Legion of Terror to attack the heroes en masse, instead of standing around waiting while members break off and attack one or two at a time.
  76. If the hero runs up to my roof, I will not run up after him and struggle with him in an attempt to push him over the edge. I will also not engage him at the edge of a cliff. (In the middle of a rope-bridge over a river of molten lava is not even worth considering.)
  77. If I have a fit of temporary insanity and decide to give the hero the chance to reject a job as my trusted lieutenant, I will retain enough sanity to wait until my current trusted lieutenant is out of earshot before making the offer.
  78. I will not tell my Legion of Terror "And he must be taken alive-" the command will be "And try to take him alive if it is reasonable practical."
  79. If my doomsday device happens to come with a reverse switch, as soon as it has been employed it will be melted down and made into limited edition commemorative coins.
  80. If my weakest troops fail to eliminate a hero, I will send out my best troops instead of wasting time with progressively stronger ones as he gets closer and closer to my fortress.
  81. If I am fighting with the hero atop a moving platform, have disarmed him, and am about to finish him off and he glances behind me and drops flat, I too will drop flat instead of quizzically turning around to find out what he saw.
  82. I will not shoot at any of my enemies if they are standing in front of the crucial support beam to a heavy, dangerously unbalanced structure.
  83. If I'm eating dinner with the hero, put poison in his goblet, then have to leave the table for any reason, I will order new drinks for both of us instead of trying to decide whether or not to switch with him.
  84. I will not have captives of one sex guarded by members of the opposite sex.
  85. I will not use any plan in which the final step is horribly complicated, e.g. "Align the 12 stones of power on the sacred altar then activate the medallion at the moment of total eclipse." Instead it will be more alone the lines of "Push the button/"
  86. I will make sure that my doomsday device is up to code and properly grounded.
  87. My vats of hazardous chemicals will be covered when not in use. Also, I will not construct walkways above them.
  88. If a group of henchmen fail miserably at a task, I will not berate them for incompetence then send the same group out to do the task again.
  89. After I capture the hero's super weapon, I will not disband legions and relax my guard because I believe whoever holds the weapon is unstoppable. After all, the hero held the weapon and I took it from him.
  90. I will not design my main control room so that every workstation is facing away from the door.
  91. I will not ignore the messenger that stumbles in exhausted and obviously agitated until my personal grooming or current entertainment is finished. It might actually be important.
  92. If I ever talk to the hero on the phone, I will not taunt him. Instead, I will say that his dogged perseverance has given me new insight on the futility of my evil ways and that if he leaves me alone for a few months of quiet contemplation I will likely return to the path of righteousness. (Heroes are incredibly gullible in this regard.)
  93. If I decide to hold a double execution of the hero and the underling who failed or betrayed me, I will die first.
  94. When arresting prisoners, my guards will not allow them to stop and grab a useless trinket of purely sentimental value.
  95. My dungeon will have its own qualified medical staff complete with bodyguards. That way if a prisoner becomes sick and his cell mate tells the guard it's an emergency, the guard will fetch a trauma team instead of opening the cell for a look.
  96. My door mechanisms will be designed so that blasting the control panel on the outside seals the door and blasting the control panel on the inside opens the door, not vice versa.
  97. My dungeon cells will not be furnished with objects that contain reflective surfaces or anything that can be unraveled.
  98. If an attractive young couple enters my realm, I will carefully monitor their activities. If I find they are happy and affectionate, I will ignore them. However, if circumstances have forced them together against their will and they spend all their time bickering and criticizing each other except during the intermittent occasions when they are saving each other' lives at which point there are hints of sexual tension, I will immediately order their execution.
  99. Any data files of crucial importance will be padded to 1.45Mb.
 100. Finally, to keep my subjects permanently locked in a mindless trance, I will provide each of them with free, unlimited internet access.
Citar
My main computers will have their own special operating system that will be completely incompatible with standard IBM and Macintosh powerbooks.

28
La taberna del BIT / Programador O Asesino
« en: Martes 20 de Marzo de 2007, 23:54 »

29
Microcontroladores / ¿cual Es El Micro Procesador?
« en: Viernes 16 de Marzo de 2007, 20:25 »
¿Cual es el micro procesador de un telefono celular como  motorola?
Es el mismo en todos?
¿Hay alguna info para saber como es la arquitectura como para luego programar? (supongo que en ensamblador)

30
La taberna del BIT / Utilidad Del Open Source
« en: Sábado 10 de Marzo de 2007, 17:03 »
A lo largo del post, voy a tratar de desarrollar con criterios validos, cual es la utilidad del Open Source y a Quien le sirve de los que utlizan la computadora.
Para tal tarea, primero tendré que clasificar a los  distintos tipos de usuarios y a los distintos tipos de programadores.
Usuarios
La clasificacion es según lo que conozco pero seria algo asi:
Usuario A Una persona experta en programas, sabe para que sirven los distintos tipos de soft, como freeware, shareware, open source. Sabe algo de programacion o mucho y por supuesto que sabe compilar Open Source.
Usuario BMuy similar al anterior pero sabe poco de programacion. Aunqeu se la rebusca para compilar open Source
Usuario CSolo utiliza el paquete Office y similares. Ofimatico clasico
Usuario DApenas sabe abrir el internet explorer para navegar por páginas de noticias
Usuario E Creo que solo sabe como encender la compu y el resto, se lo pregunta a los demas que se lo hagan

Si reflexionan: ¿Cuál es el tipo mayor de usuarios que hay?
Yo diria del tipo Usuario B, C, y D. Los de clase A son pocos  y los de E, digamos que la informatica no es lo suyo.

En esta division dejo del lado los lenguajes Script o interpretados.... solo compilados.
(por comodidad nomas)
La clasificacion es segun el entendimiento de Sistemas comolejos y de bajo nivel.
Programadores
Hex Bitch El que abre un editor hexadecimal y hace un programa  COM, de DOS y hasta Win32 con API (como les quedo el ojo?)
Code GuruSujeto C++ (y parecidos) y ASM. Sabe el funcionamiento de  la PC compoleto, puede escribir  un SysOP y tambien un Ensamblador o Compilador.
Code SeniorSabe C y C++ o parecidos, entiende del funcionamiento maquina y si se la rebusca,  algo de sistemas sabe y se arregla.
Visual Coder Señor Visual Basic y nada mas (aca entran PHP, jScript, etc...)
Code JuniorNovato, recien empieza no sabe que lenguaje es el suyo pero se arregla en algunos.

reflexion: ¿Que clase de programadores TIENEN capacidad para abrir el codigo  fuente de Java, Linux, Apache y entenderlo y modificarlo?
Yo diria Code Guru, Code Senior.
otra pregunta ¿Cuantos de esos programadores van a querer abrir semejante pedazo de codigo y modificarlo? ¿Cuanto tiempo le llevaria entender como trabaja el sitema de ese codigo? ¿2 Meses? 3? si si, lleva tiempo.

Calculo que ya debes estar entrando a lo que voy.....

Un ejemplo tipico:
FASM (Flat Assembler) es Open Source.
en el foro del ensamblador http://board.flatassembler.net/  hay programadores del tipo Code Guru, ellos podrian modificar a FASM, ¿pero saben que ?
La mayoria solo le pide al creador si cambiaría tal o cual cosa ¿Por que?
¿No es open souce? ¿porque siendo code guru no lo cambias vos mismo?

Concluyendo:
Tenemos 2 tipos de usuarios capeces de compilar un codigo fuente.
   (la mayoria de las cosas open source, solo traen el source, despues arreglate)
Tenemos 2  tipos de programadores capaces de modificar sistemas grandes, pero de esos, muchos no lo hacen porque no les importa. Prefieren que lo haga el creador.

Vamos, a esta altura es claro que el Codigo Fuente hasta puede llegar a ser un estorbo. Es preferible una buena documentacion.
Y en el caso de los usuarios: puf... pobres,  Los usuarios que son la mayoria no son capaces de nisiquera compilar el source. Mucho menos entenderlo.

31
ASM (Ensamblador) / Globalrealloc
« en: Lunes 26 de Febrero de 2007, 20:46 »
¿Como se usa esta funcion?
Segun entiendo sirve para redimensionar un bloque de memoria no FIXED que fue solicitado con  GlobalAlloc . (Entonces, primero solicito el bloque, le hago lock y..)
Código: Text
  1.  
  2. invoke GlobalReAlloc, [hMemory], GMEM_MOVEABLE+GMEM_ZEROINIT,MEMSIZE
  3. mov  [hMemory],eax;          eax es 0, error
  4. invoke [GlobalLock,hMemory]
  5. mov  [pMemory],eax
  6.  
  7.  
pero esto no resulta
Por alguna razon, cuando la uso, en eax me devuelve 0 o  sea, error.
¿Falta algo en la parte de GlobalReAlloc?



Para safar, uso esto>
Código: Text
  1.  
  2. GlobalUnlock, [pMemory]
  3. GlobalFree, [hMemory]
  4. GlobalAlloc, .........
  5. GlobalLock
  6.  
  7.  
Libero la memoria y la vuelvo a pedir pero creo que seria mejor usar GlobalReAlloc, pero esta falla.

32
Sobre los Foros de SoloCodigo / Xhtml 1.0 No Compatible
« en: Domingo 25 de Febrero de 2007, 00:30 »
Si le hago click al icono del fondo (no ese pero uno parecido)
en la página que se abre dice que hay 2 errores y no es compatible

33
ASM (Ensamblador) / Variables Local
« en: Sábado 24 de Febrero de 2007, 22:54 »
Retorné un poco y assembly y y estoy haciendo buenos avances :P
(Voy por el tutorial 5 de iczelion)

El problema es este, cuando defino una variable como "local" dentro del WndProc y la uso, la aplicacion se cuelga.
Pasa por ejemplo cuando defino local ps PAINTSTRUCT. Cuando la paso como parametro por referencia a alguna funcion de la GDI, cuando ejecuto la aplicacion, es como que no arrancara, aunque sigue corriendo sin mostrar la ventana.

Estuve viendo codigos de fasm, y en ninguno se define variables en el WindProc como locales, en cambio en masm, la mayoría van ahí.

¿Que diferencia y inconveniente hay entre usar o no usar variables local?


El otro problema:
Si uso un editor de recursos para hacer un dialogo  y le coloco algun "componente" uqe no es de los mas comunes como si los son EDIT, LISTBOX, BUTTON...
El dialogo no se muestra a pesar que le recurso del dialogo compila bien, probe tanto usando el RC y el BRCC32 de borland.
Solo probé  con Fasm.

34
La taberna del BIT / Hla (high Leavel Assembler)
« en: Miércoles 21 de Febrero de 2007, 01:00 »
Hace bastante que tengo la duda,
fijense estos dos links, loops y arrays :
http://webster.cs.ucr.edu/AoA/Windows/HTML...lStructsa4.html
http://webster.cs.ucr.edu/AoA/Windows/HTML/Arrays.html

No les parece que es una especie de "compilador" de C con MOV y EAX, EBX etc...

35
La taberna del BIT / Singularity Y Bartok
« en: Sábado 17 de Febrero de 2007, 21:13 »
Me topé con sin querer con este articulo:
http://en.wikipedia.org/wiki/Singularity_%...ating_system%29

Habla de un SO de investigacion que hizo Microsoft que mayoritariamente está escrito en C#. Para cambiar los opcode de CIL a los de X86 usaron otro proyecto que desarollo el mismo grupo Bartok
http://research.microsoft.com/act/


Por sierto, aca pueden ver videos en "Presentation"
http://research.microsoft.com/os/singularity/
Que maquinita que tienen .....

37
La taberna del BIT / Lo Que El Código No Hace
« en: Domingo 17 de Diciembre de 2006, 19:39 »
http://www.techandtonic.com/?p=43
Citar
1. Code does not move
In films and television code is always sailing across the screen at incredible speeds; it’s presented as an indecipherable stream of letters and numbers that make perfect sense to the programmer but dumbfound everyone else.  I understand that to the non-savvy person the abilities of a programmer might seem amazingly complex, but do they honestly think we can read shit that isn’t sitting still?  It’d be like trying to read six newspapers flying around in a tornado.    Sure, I can watch a kernel compile, tail a log file, or simply monitor the scrolling output of a program - but the most value I get out of those activities is when execution stops and I can actually scroll back to read what the hell happened (unless the output was going slow enough I could read it as it happened).

2. Code is not green text on a black background
Sure, code can be green text on a black background if you want it to, but most programmers use syntax highlighting and sysadmins configure their shell to use ANSI color.

3. Code has structure
According to the movies all programmers abhor the space bar and enter key.  In the real world code has structure - it’s got line breaks, spacing, and indentation.  Granted, we’ve all written our share of unreadable hacks: I used to write a lot of perl and I had a knack for writing nasty regular expressions that moved many of my successors to committing seppuku, but those days are over.  It’s all about clarity now.

4. Code is not three dimensional
Remember in “hackers” when the gibson is depicted as a three dimensional city that the hackers must navigate through? Bullshit! We may use a dash of color in our shell to make things a bit clearer, but last I checked my terminal app doesn’t require OpenGL.   I’m working here, bitches - I’m not playing quake.

5. Code does not make blip noises as it appears on the screen
This goes for ANY text, not just code.   When text appears on my monitor it doesn’t make blip sounds - this isn’t 1902 (or whenever monitors used to do that).
This is one of the most common offenses in Hollywood films, almost every movie that has a scene where a character is composing an email or surfing the net has the text make blippity-blip sounds as it appears.  Do they have any idea how fucking irritating that would be in real life?    This article alone would be like thirty thousand blippity-blips.

6. Code cannot be cracked by an 8 year old kid in a matter of seconds
Sorry, no.  Just no.

7. Not all code is meant to be cracked
Hollywood loves to endorse the notion that programming, encryption, and complex computing in general are all the same thing: a jumble of secretive data that must be broken by a seriously (srsly!) clever hacker.  This is somewhat understandable because the term “code” itself is ambigious.  In the realm of computing, code typically has two definitions:

   1. The symbolic arrangement of instructions that a computer can understand - like “Your PHP code is shit”
   2. The disguised transformation of a message - “The Navajo code talkers in WWII”

Hollywood usually applies #2 to all of a programmer’s computing activities.  There are no windows to drag, no enclosing brackets or IF statements, there’s no desktop.  Everything on the computer takes the form of an encrypted message, which must make looking at hot steamy pr0n a real bitch (md5 makes me flaccid).

8. Code isn’t just 0100110 010101 10100 011
Sure, when you get down to the binary level it’s a bunch of 1’s and 0’s, but who does that?  I’ve never met anyone who codes binary.
Hey Hollywood directors: programmers use this neat thing called the ALPHABET.  It’s got letters that you put together to form words.  We even put spaces between those words (see #3).

Also, the whole joke about everything on a computer being just a bunch of 1’s and 0’s has become painfully not funny.  It ranks right up there with the joke about the user who uses his cdrom tray as a cupholder, I’m pretty sure I’d heard that joke a thousand times by 1997.   Just because all data on a computer is ultimately represented by one or a zero doesn’t mean that the basis behind it is as simple as a one or a zero.  That’s like saying all humanity ultimately boils down to a bunch of carbon atoms (or whatever the hell we’re made of), so the next time someone steals my car I can laugh it off and say “Oh those silly carbon atoms!”

9. People who write code use mice
According to Hollywood most programmers haven’t discovered how to use a mouse.   Sure, we type fast, but a mouse is a very useful tool and there’s no reason we’d abandon it.  While we’re dispelling stereotypes, I’d also like to say that not all programmers are hot-pocket eating virgins who play WoW.  Some of us exercise and have active social lives.  Some have even had SEX! Holy Crap!

10. Most code is not inherently cross platform
Remember in Independence Day when whatshisface-math-guy writes a virus that works on both his apple laptop AND an alien mothership?  Bullshit!
If real life were like film I’d be able to port wordpress to my toaster using a cat5 cable and a bag of glitter.

Any others you can think of?
Esta es la que más me gustó creo
Código: Text
  1.  
  2. 10. Most code is not inherently cross platform
  3. Remember in Independence Day when whatshisface-math-guy writes a virus that works on both his apple laptop AND an alien mothership?  Bullshit!
  4.  
  5.  

38
La taberna del BIT / Gmail Servidor Caido
« en: Jueves 14 de Diciembre de 2006, 13:23 »
Citar
Error del servidor

Lo sentimos, pero Gmail está temporalmente fuera de servicio. En estos momentos estamos trabajando para solucionar el problema. Por favor, intente acceder a su cuenta transcurridos unos minutos.

Cuando intento entrar me dice eso. Recien el pregunté a mi hermano y dice que entra de los más bien.
¿A alguien más le pasa?

39
La taberna del BIT / Insolito Suceso Futbol Local
« en: Jueves 14 de Diciembre de 2006, 05:14 »
Ver noticia aqui

Yo lo sospeché, como que cuando Boca perdió contra Arsenal era dudoso.
Si esta vez volvia ganar boca, tendría 3 veces seguidas el campeonato.
Lo insolito es que estudiantes no gana nada hace mas de 20 años!!!!!!!!!!!!
Era tremendo ver la cara de fracazado mal del entrenador de Boca :devil:

40
Pascal / No Se Hace Tarea
« en: Martes 12 de Diciembre de 2006, 01:50 »
Bajo ninguna excusa se acepta  tarea en este subforo.
Los mensajes que solo transcriban  los enunciados y pidan su resolución serán rechazados sin previo aviso. Pueden encontrarlos aqui.

41
Dudas informáticas / Fuentes *.fon Vga Res
« en: Viernes 24 de Noviembre de 2006, 16:50 »
Buscando en internet no logro encontrar ni un solo sitio que tenga algun  programa para editar este tipo de fuentes, ni tampoco las características del formato.
Segun me fijé con un editor hexadecimal, la cabecera tiene similitud con las ejecutables de DOS.

¿Alguien conoce algun editor de fuentes VGA, o algun sitio donde tenga las especificaciones del formato cosa que me pueda hacer un editor?

Saludos y Gracias.

42
Trucos / Contruyendo Tabla Periodica
« en: Lunes 6 de Noviembre de 2006, 21:27 »
Este post, es la respuesta en base a un mail que me envio Deiv.
La idea de este post, es mostrar y dar algunas ideas de como organizar un proyecto grande de contruccion de una tabla periodica didactica.

Lo primero que se debe considerar, son las clases de los elementos de las tablas periodicas, estos pueden ser metalesy no metales. Asi pues conformariamos un tipo de dato llamado Grupo así:
Código: Text
  1.  
  2. TGrupo = (gMetal, gNoMetal); //g minuscula quiere decir grupo
  3.  
  4.  
A su vez, los dos grandes gurpos se dividen en varios subgrupos; para los metales estan los alcalinos, alcalinos terreos... y para los no metales estan los halogenos, carbanoides, nitrogenoides....
Hay que tener cuidado en no tener asignado un subgrupo a un elemento que pertenece a otro grupo cosa que puede ser hecha usando una propiedad, desgracadiamente siempre uno esta ante el error de asignar un subgrupo metalico incorrecto a un metal,eso solo se puede prevenir prestando mucha atencion :P.
Código: Text
  1.  
  2. TSubGrupo = (sgAlcalino, sgHalogeno, sgAlcalinoTerreo, sgCarbonoide);
  3. //"sg" quiere decir sub_grupo
  4.  
  5.  
Asi, para seguir una estructura, nuestra Clase de un Elemento quimico quedaria por ahora en:
Código: Text
  1.  
  2. TElemento = class
  3.    private
  4.      FSubGrupo: TSubGrupo;
  5.     procedure SetSubGrupo(const Value: TSubGrupo);
  6.    public
  7.      Grupo: TGrupo;
  8.      property SubGrupo: TSubGrupo read FSubGrupo write SetSubGrupo;
  9.    end;
  10. ........
  11. procedure TElemento.SetSubGrupo(const Value: TSubGrupo);
  12. begin
  13.   //EsMetal() es una funcion que devulve true si el subrupo pertenece a los metales...
  14.   //hace muchos ifs nada mas :P
  15.   if (Grupo=gMetal) and (not EsMetal(Value)) then
  16.   begin
  17.      ERangeError.Create('Esta asignano a un Metal un subgrupo de un NoMetal!')
  18.      Exit;
  19.   end
  20.    else if (Grupo=gNoMetal) and (EsMetal(Value)) then
  21.   begin
  22.      ERangeError.Create('Esta asignano a un Metal un subgrupo de un NoMetal!')
  23.      Exit;
  24.   end;
  25.   FSubGrupo := Value;
  26. end;
  27.  
  28.  

Ahora vamos con las propiedades necesarias basicas empezando primero por las sencillas:
Código: Text
  1.  
  2. TElemento = class
  3.    private
  4.      FSubGrupo: TSubGrupo;
  5.     procedure SetSubGrupo(const Value: TSubGrupo);
  6.    public
  7.      NumeroAtomico: Byte;
  8.      MasaAtomica: Single;
  9.      PesoAtomico: Single;
  10.      Densidad: Single;
  11.      PuntoFusion: Single;
  12.      PuntoEbullicion: Single;
  13.      Simbolo: String[2]; //H, He, Li, Be, B, C, N, O, F, Ne....
  14.      Electronegativiad: Single;
  15.      Grupo: TGrupo;
  16.      property SubGrupo: TSubGrupo read FSubGrupo write SetSubGrupo;
  17.    end;
  18.  
  19.  
La que me falto es el Nro. Oxidacion o como antes se le decia, el Numero de Valencia.
Este es particular porque son varios numeros segun el elemento, la cantidad de esos numeros puede ser 1,2,3,4, 5 y 0 para los gases inhertes.
El valor ronda entre -3 y  +7
Lo mas facil seria tener un array con 5 elementos y un numero que indique cuantos valores de ese array son validos.
Código: Text
  1.  
  2. CantidadNrosOxidacion: Byte;
  3. NroOxidacion: array[1..5] of ShortInt;
  4.  
  5.  
Por ejemplo, el Hidrogeno tiene un solo numero de oxidacion, por eso:
CantidadNrosOxidacion = 1;
NroOxidacion[1] = 1;
El Cloro tiene 5:
CantidadNrosOxidacion = 5;
NroOxidacion[1] = -1;
NroOxidacion[2] = 1;
NroOxidacion[3] = 3;
...
respecto a las terminaciones para la formacion de sales que son oso, ico y lo prefijos  hipo y per
La cosa este respecto de CantidadNrosOxidacion:
Si son 2
entonces para el NroOxidacion[1] se usa iso (el menor si no me equivoco)
y pra NroOxidacion[2] se usa ico
Si son 4
para el NroOxidacion[1] hipo-oso
....esta parte me la salteo, es como en el caso anterior pero con el numero  2,3
para el NroOxidacion[4] per-ico

Como saber con que valencia actua cada elemento?
Con el que quiera, todo depende de las circunstancias de la reaccion quimica, en el caso del hiero el numero oxidacion puede ser 2 o 3 por lo que forma con oxigeno FeO y Fe2O3. Generalmente se forman las dos en distintas proporciones.

cargando datos
Lo mas facil seria tener archivos con los datos para cada elemento quimico, como ejemplo usaremos archivos de text. El titulo del archivo de texto es comodo que sea el numero atomico: 1.xt, 2.txt, 3.txt.....
El contenido seria algo asi (";" representa comentarios):
Citar
;simbolo
He
;grupo: 0 metal, 1 no metal
1
;nro atomico
1
;peso atomico
1.00079
;cantidad numeros oxidacion
1
;nro oxidacion
1
;densidad
0.071
;etc..............
Asi que tendriamos agregar a nuestra clase de TElemento un metodo para cargar datos desde un archivo de texto.
Código: Text
  1.  
  2.  TElemento = class
  3.    private
  4.      FSubGrupo: TSubGrupo;
  5.     procedure SetSubGrupo(const Value: TSubGrupo);
  6.    public
  7.      NumeroAtomico: Byte;
  8.      MasaAtomica: Single;
  9.      PesoAtomico: Single;
  10.      Densidad: Single;
  11.      PuntoFusion: Single;
  12.      PuntoEbullicion: Single;
  13.      Simbolo: String[2]; //H, He, Li, Be, B, C, N, O, F, Ne....
  14.      Electronegativiad: Single;
  15.      Grupo: TGrupo;
  16.      property SubGrupo: TSubGrupo read FSubGrupo write SetSubGrupo;
  17.      **********
  18.      procedure LoadFromFile(const FileName: String);
  19.    end;
  20.  
  21.  
Ahora simplemente se podria hacer
Código: Text
  1.  
  2. TTablaPeriodica = class
  3. public
  4.   ........
  5.    Elemento: array[1..103] of TElemento;
  6.  ..........
  7.     constructor Create;
  8. end;
  9. constructor TTAblaPeriodica.Create;
  10. begin
  11.   inherited Create;
  12.   for i:=1 to 103 do
  13.       Elemento[i].LoadFromFile(IntToStr(i) + '.txt');
  14. end;
  15.  
  16.  
Para Aceder a cualquier elemento de la tabla, es mediante el numero atomico:
Código: Text
  1.  
  2. WriteLn(TAblaPeriodica.Elemento[1].Simbolo); //da como salida: "H"
  3.  

PD: Deiv, espero que esto te de una pauta, si siguies teniendo dudas, puedes preguntar tranquilamente en este post, inclusive, si lo deseas, adjunta aqui el PDF que me mandaste con las preguntas.

Saludos

43
La taberna del BIT / 88888 Mensajes Escritos
« en: Viernes 3 de Noviembre de 2006, 23:10 »
Me pareció interesante el numero nomas....

44
Sobre los Foros de SoloCodigo / Cambiar El Título De Esta Seccion
« en: Sábado 14 de Octubre de 2006, 16:02 »
Debido a que después de la reforma, aún así, tenemos muchos nuevos miembros que siguen posteando preguntas de programacion en esta seccion.
Tal vez, sería bueno buscar un nombre mejor, y además, quitar
el comentario
Citar
Aquí todo lo relativo al foro: dudas sobre el funcionamiento, sugerencia de nuevos foros, ...
para que parezca menos llamativo. No se, pero tal vez el comentario induce subconcientemente a los nuevos miembros a postear aqui.

Un nombre que se me ocurió es "Comentarios y Sugerencias".

Otra idea, hacer que los usuarios con menos de 5 posts, no puedan postear en esta seccion.

45
La taberna del BIT / ¿que Otros Foros Frecuentan?
« en: Jueves 5 de Octubre de 2006, 00:03 »
Creo que esa pregunta no la vi en ningun post ni foro :blink:

Esa es la idea, que cuenten en que foro participan regularmente ademas de solocodigo

46
ASM (Ensamblador) / Dll To Inc
« en: Miércoles 4 de Octubre de 2006, 15:13 »
Navegando me topé con una utilidad bastante interesante.
Cuando uno le pasa una nombre.DLL esta devuelve un archivo nombre.INC con la funciones exportadas por esa DLL.
Viene con el código fuente en assembly para FASM.

bajar aqui

Lo saque de una página rusa: aqui el enlace
del lado izquerda de la pagina   tienen el panel de las secciones.
El enlace los dirige al top 50 de las utilidades más bajadas.
(en el top 50: 1º Masm32, 2º Fasm, 30º Tasm32)


Y esta utilidad, convierte una libreria dinamica "dll" a una estatica "lib" (no tuve tiempo de probarla)
bajar no oficialmente

enlace a la página oficial
además, dice el tipo y la cantidad de argumentos que pide cada funcion.

47
Pascal / Preguntas Frecuentes
« en: Lunes 2 de Octubre de 2006, 14:45 »
Lenguaje, Compilador
¿Qué es Pascal?
Citar
Pascal es un lenguaje de programación desarrollado por el profesor suizo Niklaus Wirth a finales de los años 60. Su objetivo era crear un lenguaje que facilitara el aprendizaje de la programación a sus alumnos. Sin embargo con el tiempo su utilización excedió el ámbito académico para convertirse en una herramienta para la creación de aplicaciones de todo tipo.

Pascal se caracteriza por ser un lenguaje de programación estructurado fuertemente tipificado. Esto implica que:

   1. El código esta dividido en porciones fácilmente legibles llamadas funciones o procedimientos. De esta forma Pascal facilita la utilización de la programación estructurada en oposición al antiguo estilo de programación monolítica.
   2. El tipo de dato de todas las variables debe ser declarado previamente para que su uso quede habilitado.

El nombre de Pascal fue escogido en honor al matemático Blaise Pascal.
info extraida de wiki.es

Aclaraciones importantes:
Pascal no es un compilador, es una lenguaje. Los compiladores del lenguaje Pascal conocidos son:
Free Pascal (gratuito)
Turbo Pascal
TMT Pascal


¿Dónde se puede descargar Turbo Pascal 7?
Instalador exe
Detalles de instalación:
Una vez completado el instalador, borrar archivos turbo.pif y tpx.pif de la carpeta bin del turbo pascal.
O ejecuten estos commandos en la Consola. (cmd.exe o command.com)
Código: Text
  1.  
  2. del %programfiles%\tp\bin\turbo.pif
  3. del %programfiles%\tp\bin\tpx.pif
  4.  
  5.  
zip instalado version compacta
servidor alternativo
Detalles Instalación:
Tendrán que configurar los directorios de las unidades:
en la IDE, Options/Directories>>Unit directory

¿Dónde se puede conseguir la ayuda de Turbo Pascal 7 en español?
Subida al ftp de solocodigo por "leon-binario": bajar aqui
Para usarla, hay que sobreescribir la original.
thread original

48
ASM (Ensamblador) / Lectura De Un Numero
« en: Domingo 1 de Octubre de 2006, 01:46 »
Ahora que tenía un par de dias libres, decidi probar algunas cosas de assembly, estoy usando fasm para DOS.

Lo que quiero hacer, es basicamente leer un numero por teclado y almacenarlo en alguna variable y mostrarlo luego en la pantalla.

El problema mio consiste en que logro leer un vector de numeros.... pero no logro convertirlo a un numero.
Lo que tendria que hacer es algo asi (pseudocodigo):
Código: Text
  1.  
  2. for(i=0; i<=Length(Numeros); i++)
  3. {
  4.     Resultado += Numeros[i] * Potencia(10, i);
  5. }
  6.  
  7.  

Este es el codigo, la parte problematica est'a resltada con mayusculas
trate de recortarlo lo mejor que pude (tendria que ser una calculadora con opciones, solo dejé la de sumar, de ahí comienza)
Código: Text
  1.  
  2. format MZ
  3. entry codseg : start
  4.  
  5. segment codseg
  6. start:
  7.  
  8.    push dataseg
  9.    pop ds
  10.  
  11. sumar:
  12.    mov   [result], 0
  13.    mov   dx, input_text
  14.    mov   ah, 9
  15.    int   21h
  16.    xor   si, si
  17.    mov   bx, number
  18. ingreso:
  19. ;se pide el ingreso del caracter
  20.    mov   ah, 08h
  21.    int   21h
  22. ;verifico si el ingreso es un numero
  23.    cmp   al, 13
  24.    je    seg_suma
  25. ;es menor que 0
  26.    cmp   al, 30h
  27.    jl    ingreso
  28. ;es mayor que 9
  29.    cmp   al, 39h
  30.    jg    ingreso
  31. ;el numero es valido se guarda y se imprime
  32.    mov   ah, 02h
  33.    mov   dl, al
  34.    int   21h
  35.    mov   [bx + si], al
  36.    inc si
  37. loop ingreso
  38.  
  39. seg_suma:
  40. ;write line
  41.    mov   dx, write_line
  42.    mov   ah, 9
  43.    int   21h
  44. ;write the number
  45.    mov   [bx+ si], byte '$'
  46.    mov   dx, number
  47.    mov   ah, 9
  48.    int   21h
  49.  
  50.  
  51. ;save the number
  52. ;**************************************************************
  53. ;ESTA ES LA PARTE QUE NO SE COMO HACER
  54. ;ES DECIR, QUIERO CONVERTIR LA CADENA EJ> '6','5',2' EN EL NUMERO 652
  55.    
  56. ;ACA TERMINA SUPUESTAMENTE LA PARTE PROBLEMATICA
  57. ;*************************************************************
  58.  
  59.  
  60. segment dataseg
  61.       pause_text    db 'Adios, presione una tecla....$'
  62.       input_text    db 'Ingrese numero: $'
  63.       write_line    db 13,10,'$'
  64.       number        db 0,0,0,0,0,0,0,0,0,'$'
  65.       result        dd 0                        
  66.  
  67.  

PD: Por sierto, FASM tiene procedimientos? trate de poner la palabra proc, pero no hubo caso :(:S

49
Windows / Windos Installer
« en: Miércoles 27 de Septiembre de 2006, 17:12 »
Recien acabo de descubrir que windows trae una utilidad para hacer instaladores que usan el WindowsInstaller.

Inicio>>Ejecutar: "iexpress".

Ahí aparece un Wizard que les permite hacer un instalador. :kicking:

50
La taberna del BIT / Ubicacion En El Planisferio
« en: Lunes 25 de Septiembre de 2006, 16:40 »
http://www.ip-adress.com/

Asustense!!!!!!!!!!!!! :scream:
Lo que hace la página, es mostrarles su ubicacion en el planisferio de Google solo con su ip o Ip de cualquiera.

En mi caso el error fue de 3 cuadras, es decir 300 metros. :alien:

Páginas: 1 [2] 3 4 ... 6