My favorites | Sign in
Logo
                
Details: Show all Hide all

Earlier this year

  • Nov 06, 2009
    issue 31 (Cannot build naim statically (for embedded platforms)) commented on by rayhaque   -   Well, I understand how that might seem silly. It is! But here is what I am doing ... I am compiling binaries that can be dropped onto an SD card, and used on a Zipit Z2 (a little handheld messenger device with some neat characteristics). While this device is capable of running a full fledged OS, I am trying to do as much as I can by using the stock kernel that the device ships with. One HUGE limitation of this, is that all of your binaries must be built static. This kernel does not support sensible static bins. So, yes, the binaries can be a couple meg in size. But that is okay. I built nmap this way with ncurses crammed into it. It doesn't run great, but it runs! :-)
    Well, I understand how that might seem silly. It is! But here is what I am doing ... I am compiling binaries that can be dropped onto an SD card, and used on a Zipit Z2 (a little handheld messenger device with some neat characteristics). While this device is capable of running a full fledged OS, I am trying to do as much as I can by using the stock kernel that the device ships with. One HUGE limitation of this, is that all of your binaries must be built static. This kernel does not support sensible static bins. So, yes, the binaries can be a couple meg in size. But that is okay. I built nmap this way with ncurses crammed into it. It doesn't run great, but it runs! :-)
  • Nov 06, 2009
    issue 31 (Cannot build naim statically (for embedded platforms)) commented on by nmlorg   -   Not dismissing the problem, but why do you need a fully static executable? This means even things like libc will be copied into your executable, which can make it huge (which is typically an even bigger problem than usual for embedded systems). Are you just trying to embed a certain library (like libncurses)?
    Not dismissing the problem, but why do you need a fully static executable? This means even things like libc will be copied into your executable, which can make it huge (which is typically an even bigger problem than usual for embedded systems). Are you just trying to embed a certain library (like libncurses)?
  • Nov 06, 2009
    issue 31 (Cannot build naim statically (for embedded platforms)) reported by rayhaque   -   > What steps will reproduce the problem? 1. Run "CFLAGS=-static ./configure --enable-static" against the latest source. 2. Do a make or make install. 3. Resulting naim binary is "dynamic linked", not static. This is clearly visible in the terminal output in the very last gcc which builds the binary. > What is the expected output? What do you see instead? When running 'file naim', expect a static binary. See this instead ... ./src/naim: ELF 32-bit LSB executable, ARM, version 1 (ARM), dynamically linked (uses shared libs), not stripped > What version of naim are you using? On what operating system? > % naim --version Latest stable source. > % uname -a (using scratchbox) Linux zipitdev 2.6.26-2-686 #1 SMP Wed Aug 19 06:06:52 UTC 2009 arm GNU/Linux > Please provide any additional information below. Attaching relevant stuff! Also - usually when this happens, you can copy and paste the last gcc line into a terminal and add -static to the end of it. I cannot do that with naim because it kills off required libs immediately after it's done with them. If you can change this so that it leaves stuff alone, I can complete this build. :-)
    > What steps will reproduce the problem? 1. Run "CFLAGS=-static ./configure --enable-static" against the latest source. 2. Do a make or make install. 3. Resulting naim binary is "dynamic linked", not static. This is clearly visible in the terminal output in the very last gcc which builds the binary. > What is the expected output? What do you see instead? When running 'file naim', expect a static binary. See this instead ... ./src/naim: ELF 32-bit LSB executable, ARM, version 1 (ARM), dynamically linked (uses shared libs), not stripped > What version of naim are you using? On what operating system? > % naim --version Latest stable source. > % uname -a (using scratchbox) Linux zipitdev 2.6.26-2-686 #1 SMP Wed Aug 19 06:06:52 UTC 2009 arm GNU/Linux > Please provide any additional information below. Attaching relevant stuff! Also - usually when this happens, you can copy and paste the last gcc line into a terminal and add -static to the end of it. I cannot do that with naim because it kills off required libs immediately after it's done with them. If you can change this so that it leaves stuff alone, I can complete this build. :-)
  • Aug 07, 2009
    r319 (A slightly more interesting example, that makes use of the n...) committed by eminence   -   A slightly more interesting example, that makes use of the new threading support
    A slightly more interesting example, that makes use of the new threading support
  • Aug 06, 2009
    r318 (Update issue 25 Very rough initial checkin of naim.pd.regist...) committed by nmlorg   -   Update issue 25 Very rough initial checkin of naim.pd.register(). This works, but isn't very useful (and throws an assertion when you /quit): /pyeval naim.pd.register('dummytype', 'irc.example.com', 1234) /newconn test dummytype
    Update issue 25 Very rough initial checkin of naim.pd.register(). This works, but isn't very useful (and throws an assertion when you /quit): /pyeval naim.pd.register('dummytype', 'irc.example.com', 1234) /newconn test dummytype
  • Aug 05, 2009
    r317 (74a18c5e2e1f158a7238888057492503 naim-0.11.8.3.3-2009-08-05...) committed by nmlorg   -   74a18c5e2e1f158a7238888057492503 naim-0.11.8.3.3-2009-08-05-1152.tar.bz2
    74a18c5e2e1f158a7238888057492503 naim-0.11.8.3.3-2009-08-05-1152.tar.bz2
  • Aug 05, 2009
    r316 (313 enabled threading support, and added the proper guarding...) committed by nmlorg   -   313 enabled threading support, and added the proper guarding to two C-to-Python entry points (the /pyload and /pyeval commands), but missed the chain hooks in hooks.c and conn.c. The most obvious problem was that /newconn reliably crashed the interpreter (and naim). This CL makes sure the guards are called at all C-to-Python entry points.
    313 enabled threading support, and added the proper guarding to two C-to-Python entry points (the /pyload and /pyeval commands), but missed the chain hooks in hooks.c and conn.c. The most obvious problem was that /newconn reliably crashed the interpreter (and naim). This CL makes sure the guards are called at all C-to-Python entry points.
  • Jul 28, 2009
    issue 30 (Max length check happens before encryption) reported by joetyson   -   Naim checks the maximum length of a message before it encrypts the message and sends it off to the server. Since encryption can often times double the size of the message, the server just sends a cut off length to the user on the receiving end.
    Naim checks the maximum length of a message before it encrypts the message and sends it off to the server. Since encryption can often times double the size of the message, the server just sends a cut off length to the user on the receiving end.
  • Jul 28, 2009
    FAQ Wiki page edited by eminence
  • Jul 27, 2009
    issue 27 (subprocess seems flaky) commented on by eminence   -   I'd like to use the subprocess module to watch the run time of a program, and kill it if it runs for too long. Something like this: p = subprocess.Popen(cmd) start = time.time() while (time.time() - start < 10): p.poll() if (p.returncode != None): doSomething() break sleep(0.5) else: print("Error: cmd didn't finish in 10 seconds") As far as I know, this can't be simulated with os.system
    I'd like to use the subprocess module to watch the run time of a program, and kill it if it runs for too long. Something like this: p = subprocess.Popen(cmd) start = time.time() while (time.time() - start < 10): p.poll() if (p.returncode != None): doSomething() break sleep(0.5) else: print("Error: cmd didn't finish in 10 seconds") As far as I know, this can't be simulated with os.system
  • Jul 25, 2009
    issue 27 (subprocess seems flaky) Labels changed by nmlorg   -   Seems to behave the same for me, but this particular case seems to just be a complicated way to do os.system('ping -c 2 em32.net'). Do you have a use for subprocess that can't be simulated with os.system?
    Labels: Type-Defect Type-Enhancement
    Seems to behave the same for me, but this particular case seems to just be a complicated way to do os.system('ping -c 2 em32.net'). Do you have a use for subprocess that can't be simulated with os.system?
    Labels: Type-Defect Type-Enhancement
  • Jul 25, 2009
    r314 (Echo the things you're /pyeval-ing like the interactive inte...) committed by nmlorg   -   Echo the things you're /pyeval-ing like the interactive interpreter.
    Echo the things you're /pyeval-ing like the interactive interpreter.
  • Jul 25, 2009
    r313 (Check in pynaimthreads.patch, including examples/threadexamp...) committed by nmlorg   -   Check in pynaimthreads.patch, including examples/threadexample.py. Note that naim only tells ncurses to redraw the screen when there is keyboard or network activity, so threadexample's "print" lines will not show up on your screen until the next network or keyboard event (which is very awkward).
    Check in pynaimthreads.patch, including examples/threadexample.py. Note that naim only tells ncurses to redraw the screen when there is keyboard or network activity, so threadexample's "print" lines will not show up on your screen until the next network or keyboard event (which is very awkward).
  • Jul 23, 2009
    issue 29 (hook into existing commands) commented on by eminence   -   implementation of this may be related to the implementation of RFE #28
    implementation of this may be related to the implementation of RFE #28
  • Jul 23, 2009
    issue 29 (hook into existing commands) Owner changed by eminence   -  
    Owner: ---
    Owner: ---
  • Jul 23, 2009
    issue 29 (hook into existing commands) reported by eminence   -   add the ability to hook into existing commands (preferably by using the exist hook infrastructure). example code might look like: def myFunc(conn, command, args, flags): if command == 'poke': conn.commands.msg(args[0], "You have been poked") naim.hooks.add('command', 200, myFunc)
    add the ability to hook into existing commands (preferably by using the exist hook infrastructure). example code might look like: def myFunc(conn, command, args, flags): if command == 'poke': conn.commands.msg(args[0], "You have been poked") naim.hooks.add('command', 200, myFunc)
  • Jul 23, 2009
    issue 28 (add support for creating new /commands) reported by eminence   -   add support for creating new /commands directly from a pynaim script (that is, without having to modify pynaim.c to add your new command)
    add support for creating new /commands directly from a pynaim script (that is, without having to modify pynaim.c to add your new command)
  • Jul 21, 2009
    issue 13 (request for titlebar notification of focused messages) Labels changed by joshua.a.wise   -  
    Labels: Type-Enhancement Type-Defect
    Labels: Type-Enhancement Type-Defect
  • Jul 21, 2009
    issue 16 (naim screen looks absolutely horrible on ubuntu 8.04 fresh u...) Status changed by joshua.a.wise   -  
    Status: Invalid
    Status: Invalid
  • Jul 21, 2009
    issue 26 (nsocket integration for pynaim) commented on by nmlorg   -   This patch allows threads to run in the background, so you can create a thread and have it use blocking I/O in the interim.
    This patch allows threads to run in the background, so you can create a thread and have it use blocking I/O in the interim.
  • Jul 21, 2009
    issue 4 (Invisible AOL users crash naim) changed by nmlorg   -   This was "A debugging assertion that caused random crashes has been removed." in the 0.11.8.3.2 release notes.
    Status: Fixed
    Owner: nmlorg
    Cc: joshua.a.wise
    This was "A debugging assertion that caused random crashes has been removed." in the 0.11.8.3.2 release notes.
    Status: Fixed
    Owner: nmlorg
    Cc: joshua.a.wise
  • Jul 21, 2009
    issue 16 (naim screen looks absolutely horrible on ubuntu 8.04 fresh u...) Owner changed by nmlorg   -  
    Owner: joshua.a.wise
    Owner: joshua.a.wise
  • Jul 21, 2009
    issue 26 (nsocket integration for pynaim) Labels changed by nmlorg   -  
    Labels: Component-pynaim Type-Enhancement
    Labels: Component-pynaim Type-Enhancement
  • Jul 21, 2009
    issue 27 (subprocess seems flaky) reported by eminence   -   Here's a test case to reproduce 1. /modload /path/to/pynaim 2. /pyeval import subprocess, time; 3. /pyeval p=subprocess.Popen(["ping","-c","2","em32.net"]); p.poll(); time.sleep(3); p.wait(); On my machine, i get the following: [13:47:21] *** Traceback (most recent call last): [13:47:21] *** File "<string>", line 1, in <module> [13:47:21] *** File "/usr/lib/python2.6/subprocess.py", line 1123, in wait [13:47:21] *** pid, sts = os.waitpid(self.pid, 0) [13:47:21] *** OSError: [Errno 10] No child processes (you can ignore the fact that stuff is being dumped to stdout) I think something like this should be happening instead (this is run from a regular python shell) >>> p=subprocess.Popen(["ping","-c","2","em32.net"]); p.poll(); time.sleep(3); p.wait(); PING em32.net (72.195.132.72) 56(84) bytes of data. 64 bytes from ip72-195-132-72.ri.ri.cox.net (72.195.132.72): icmp_seq=1 ttl=64 time=0.689 ms 64 bytes from ip72-195-132-72.ri.ri.cox.net (72.195.132.72): icmp_seq=2 ttl=64 time=0.688 ms --- em32.net ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = 0.688/0.688/0.689/0.026 ms 0 Note the "0" at the very end -- this is what p.wait() is returning (instead of throwing an OSError) the first p.poll() should return None (because the process hasn't exited yet). the sleep(3) should be long enough for the process to complete. and the p.wait() should wait for the process to complete and then return. Note that the following also does not work: /pyeval p=subprocess.Popen(["ping","-c","2","em32.net"]); p.poll(); time.sleep(1.5); p.poll(); time.sleep(1.5); p.poll() No errors are thrown, but that last p.poll() should be returning something other than None
    Here's a test case to reproduce 1. /modload /path/to/pynaim 2. /pyeval import subprocess, time; 3. /pyeval p=subprocess.Popen(["ping","-c","2","em32.net"]); p.poll(); time.sleep(3); p.wait(); On my machine, i get the following: [13:47:21] *** Traceback (most recent call last): [13:47:21] *** File "<string>", line 1, in <module> [13:47:21] *** File "/usr/lib/python2.6/subprocess.py", line 1123, in wait [13:47:21] *** pid, sts = os.waitpid(self.pid, 0) [13:47:21] *** OSError: [Errno 10] No child processes (you can ignore the fact that stuff is being dumped to stdout) I think something like this should be happening instead (this is run from a regular python shell) >>> p=subprocess.Popen(["ping","-c","2","em32.net"]); p.poll(); time.sleep(3); p.wait(); PING em32.net (72.195.132.72) 56(84) bytes of data. 64 bytes from ip72-195-132-72.ri.ri.cox.net (72.195.132.72): icmp_seq=1 ttl=64 time=0.689 ms 64 bytes from ip72-195-132-72.ri.ri.cox.net (72.195.132.72): icmp_seq=2 ttl=64 time=0.688 ms --- em32.net ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = 0.688/0.688/0.689/0.026 ms 0 Note the "0" at the very end -- this is what p.wait() is returning (instead of throwing an OSError) the first p.poll() should return None (because the process hasn't exited yet). the sleep(3) should be long enough for the process to complete. and the p.wait() should wait for the process to complete and then return. Note that the following also does not work: /pyeval p=subprocess.Popen(["ping","-c","2","em32.net"]); p.poll(); time.sleep(1.5); p.poll(); time.sleep(1.5); p.poll() No errors are thrown, but that last p.poll() should be returning something other than None
  • Jul 21, 2009
    issue 26 (nsocket integration for pynaim) reported by joshua.a.wise   -   nlua had nsocket integration (i.e., sockets could be used in a non-blocking fashion). As I understand it, this integration does not yet exist in pynaim. It should.
    nlua had nsocket integration (i.e., sockets could be used in a non-blocking fashion). As I understand it, this integration does not yet exist in pynaim. It should.
  • Jul 21, 2009
    issue 23 (naim seg faults when logging into aim) commented on by joshua.a.wise   -   Does this issue still appear in the latest version of naim?
    Does this issue still appear in the latest version of naim?
  • Jul 21, 2009
    issue 16 (naim screen looks absolutely horrible on ubuntu 8.04 fresh u...) commented on by joshua.a.wise   -   Run with LANG=en_US. mrxvt cannot deal with Unicode, and by default, Ubuntu now runs with LANG=en_US.UTF8. (I have essentially the same setup as you -- mrxvt on Ubuntu, running naim).
    Run with LANG=en_US. mrxvt cannot deal with Unicode, and by default, Ubuntu now runs with LANG=en_US.UTF8. (I have essentially the same setup as you -- mrxvt on Ubuntu, running naim).
  • Jul 21, 2009
    issue 25 (PD support for pynaim) changed by nmlorg   -  
    Summary: PD support for pynaim
    Labels: Component-pynaim Type-Enhancement
    Summary: PD support for pynaim
    Labels: Component-pynaim Type-Enhancement
  • Jul 21, 2009
    issue 25 (RFE: PD support for pynaim) reported by joshua.a.wise   -   It would be nice to have pynaim be able to create PDs, like nlua did.
    It would be nice to have pynaim be able to create PDs, like nlua did.
  • Jul 19, 2009
    r312 (Stop crashing if user types /pyload or /pyeval with no args....) committed by nmlorg   -   Stop crashing if user types /pyload or /pyeval with no args.
    Stop crashing if user types /pyload or /pyeval with no args.
  • Jul 19, 2009
    r311 (Simplify slightly confusing logic. ) committed by nmlorg   -   Simplify slightly confusing logic.
    Simplify slightly confusing logic.
  • Jul 19, 2009
    r310 (Add a mock of naim.connections to _MockNaim. Add TestCase.as...) committed by nmlorg   -   Add a mock of naim.connections to _MockNaim. Add TestCase.assertCommand to check that a specific command/arg combination was called. Update purrbot (and purrbot_test) to use conn.commands.ctcp instead of naim.eval (see 306). Fix weather_test (see 309).
    Add a mock of naim.connections to _MockNaim. Add TestCase.assertCommand to check that a specific command/arg combination was called. Update purrbot (and purrbot_test) to use conn.commands.ctcp instead of naim.eval (see 306). Fix weather_test (see 309).
  • Jul 18, 2009
    r309 (correctly use the .msg method (a fix for 308. see also 306)...) committed by eminence   -   correctly use the .msg method (a fix for 308. see also 306)
    correctly use the .msg method (a fix for 308. see also 306)
  • Jul 18, 2009
    r308 (updated to use new .msg method from the connection objects (...) committed by eminence   -   updated to use new .msg method from the connection objects (instead of naim.eval)
    updated to use new .msg method from the connection objects (instead of naim.eval)
  • Jul 18, 2009
    r307 (Switch from Py_BuildValue/PyObject_CallObject to PyObject_Ca...) committed by nmlorg   -   Switch from Py_BuildValue/PyObject_CallObject to PyObject_CallFunction and PyObject_CallFunctionObjArgs. Clean up a reference count leak (PyDict_GetItemString doesn't increment, but PyObject_GetAttrString does).
    Switch from Py_BuildValue/PyObject_CallObject to PyObject_CallFunction and PyObject_CallFunctionObjArgs. Clean up a reference count leak (PyDict_GetItemString doesn't increment, but PyObject_GetAttrString does).
  • Jul 18, 2009
    r306 (Add new naim.types.Commands, binding all of cmdar. Add an in...) committed by nmlorg   -   Add new naim.types.Commands, binding all of cmdar. Add an instance of Commands to each Connection object as .commands: /pyeval naim.connections['EFnet'].commands.join('#naim') /pyeval naim.connections['AIM'].commands.msg('naimhelp', 'hello there')
    Add new naim.types.Commands, binding all of cmdar. Add an instance of Commands to each Connection object as .commands: /pyeval naim.connections['EFnet'].commands.join('#naim') /pyeval naim.connections['AIM'].commands.msg('naimhelp', 'hello there')
  • Jul 12, 2009
    r305 (Indentation cleanup (see 304). ) committed by nmlorg   -   Indentation cleanup (see 304).
    Indentation cleanup (see 304).
  • Jul 12, 2009
    r304 (add new .msg() method to the Connection type ) committed by eminence   -   add new .msg() method to the Connection type
    add new .msg() method to the Connection type
  • Jul 12, 2009
    r303 (Create new naim.connections dictionary mapping winname to an...) committed by nmlorg   -   Create new naim.connections dictionary mapping winname to an instance of naim.types.Connection. Build an initial naim.connections dict by walking the curconn list, then hook the newconn and delconn chains to keep the dict updated. Export the newconn and delconn chains through naim.hooks.add.
    Create new naim.connections dictionary mapping winname to an instance of naim.types.Connection. Build an initial naim.connections dict by walking the curconn list, then hook the newconn and delconn chains to keep the dict updated. Export the newconn and delconn chains through naim.hooks.add.
  • Jul 12, 2009
    r302 (Add new newconn and delconn chains. ) committed by nmlorg   -   Add new newconn and delconn chains.
    Add new newconn and delconn chains.
  • Jul 12, 2009
    r301 (Quick type cleanup (thinko). ) committed by nmlorg   -   Quick type cleanup (thinko).
    Quick type cleanup (thinko).
  • Jul 12, 2009
    r300 (Have pynaim's recvfrom hook wrapper convert the conn_t * arg...) committed by nmlorg   -   Have pynaim's recvfrom hook wrapper convert the conn_t * arg into a naim.types.Connection object.
    Have pynaim's recvfrom hook wrapper convert the conn_t * arg into a naim.types.Connection object.
  • Jul 12, 2009
    r299 (Get rid of sys.excepthook and sys.displayhook, and instead r...) committed by nmlorg   -   Get rid of sys.excepthook and sys.displayhook, and instead redefine sys.stderr and sys.stdout. In addition to covering PyErr_Print and /pyeval 5 + 2, this catches /pyeval print 'hi' and /pyeval help(naim).
    Get rid of sys.excepthook and sys.displayhook, and instead redefine sys.stderr and sys.stdout. In addition to covering PyErr_Print and /pyeval 5 + 2, this catches /pyeval print 'hi' and /pyeval help(naim).
  • Jul 12, 2009
    r298 (Move naim.Connection to naim.types.Connection. Have pynaim_...) committed by nmlorg   -   Move naim.Connection to naim.types.Connection. Have pynaim_X_init find its parent module using PyImport_AddModule instead of having it be passed in as an argument.
    Move naim.Connection to naim.types.Connection. Have pynaim_X_init find its parent module using PyImport_AddModule instead of having it be passed in as an argument.
  • Jul 11, 2009
    r297 (Eek, forgot to mark the end of the array. ) committed by nmlorg   -   Eek, forgot to mark the end of the array.
    Eek, forgot to mark the end of the array.
  • Jul 11, 2009
    r296 (Switch naim.Connection to using getset. Have it enclose a co...) committed by nmlorg   -   Switch naim.Connection to using getset. Have it enclose a conn_t * and export its conn->winname as winname.
    Switch naim.Connection to using getset. Have it enclose a conn_t * and export its conn->winname as winname.
  • Jul 11, 2009
    r295 (Initial commit of a skeleton conn.c which will eventually de...) committed by eminence   -   Initial commit of a skeleton conn.c which will eventually define a new Connection python type
    Initial commit of a skeleton conn.c which will eventually define a new Connection python type
  • Jul 11, 2009
    r294 (Log when non-core hooks are added and removed. ) committed by nmlorg   -   Log when non-core hooks are added and removed.
    Log when non-core hooks are added and removed.
  • Jul 11, 2009
    r293 (Export hook_findchain to all files and modules. Instead of ...) committed by nmlorg   -   Export hook_findchain to all files and modules. Instead of making every chain an exported C symbol, have hook_findchain search (and update) a hook_chains dict. This means HOOK_CALL (and HOOK_ADD) will now create chains dynamically, and ltdl is no longer necessary to find chains dynamically.
    Export hook_findchain to all files and modules. Instead of making every chain an exported C symbol, have hook_findchain search (and update) a hook_chains dict. This means HOOK_CALL (and HOOK_ADD) will now create chains dynamically, and ltdl is no longer necessary to find chains dynamically.
  • Jul 10, 2009
    r292 (Catch sys.displayhook, used by Py_single_input to display th...) committed by nmlorg   -   Catch sys.displayhook, used by Py_single_input to display the results of an evaluation (see 291).
    Catch sys.displayhook, used by Py_single_input to display the results of an evaluation (see 291).
 
Hosted by Google Code