Another from my boss!
-
Can you believe this? This function is supposed to be called on the Set Focus event of textboxes in vb6
Private Sub txtIN_GotFocus(Index As Integer)
setTxtWnd txtIN(Index)
End SubPublic Sub setTxtWnd(oTxt As TextBox, Optional ByVal tbNoIndex As Boolean = False)
On Error Resume NextWith oTxt If .Parent.ActiveControl.Name = oTxt.Name Then If Not tbNoIndex Then If .Parent.ActiveControl.Index = oTxt.Index Then
M_FOC:
.BorderStyle = 1
.Appearance = 1
.SelStart = 0
.SelLength = Len(.Text)
Else
GoTo M_NO_FOC
End If
Else
GoTo M_FOC
End If
Else
M_NO_FOC:
.BorderStyle = 0
.Appearance = 0
End If
End With
End Sub -
Can you believe this? This function is supposed to be called on the Set Focus event of textboxes in vb6
Private Sub txtIN_GotFocus(Index As Integer)
setTxtWnd txtIN(Index)
End SubPublic Sub setTxtWnd(oTxt As TextBox, Optional ByVal tbNoIndex As Boolean = False)
On Error Resume NextWith oTxt If .Parent.ActiveControl.Name = oTxt.Name Then If Not tbNoIndex Then If .Parent.ActiveControl.Index = oTxt.Index Then
M_FOC:
.BorderStyle = 1
.Appearance = 1
.SelStart = 0
.SelLength = Len(.Text)
Else
GoTo M_NO_FOC
End If
Else
GoTo M_FOC
End If
Else
M_NO_FOC:
.BorderStyle = 0
.Appearance = 0
End If
End With
End SubWOW. And he did it without a DoEvents call either. Sheer genius, I'd say. :doh:
Chris Meech I am Canadian. [heard in a local bar]
-
Can you believe this? This function is supposed to be called on the Set Focus event of textboxes in vb6
Private Sub txtIN_GotFocus(Index As Integer)
setTxtWnd txtIN(Index)
End SubPublic Sub setTxtWnd(oTxt As TextBox, Optional ByVal tbNoIndex As Boolean = False)
On Error Resume NextWith oTxt If .Parent.ActiveControl.Name = oTxt.Name Then If Not tbNoIndex Then If .Parent.ActiveControl.Index = oTxt.Index Then
M_FOC:
.BorderStyle = 1
.Appearance = 1
.SelStart = 0
.SelLength = Len(.Text)
Else
GoTo M_NO_FOC
End If
Else
GoTo M_FOC
End If
Else
M_NO_FOC:
.BorderStyle = 0
.Appearance = 0
End If
End With
End Subno way, this proyect is a gold mine!!! take a look at this, he was afraid of .SetFocus
sql = "SELECT COD\_GCIA FROM GerenciasWEB WHERE COD\_GCIA = '" & .COD\_GCIA & "'" Set rstmp = New ADODB.Recordset rstmp.Open sql, db, adOpenForwardOnly, adLockReadOnly If rstmp.EOF Or rstmp.BOF Then MsgBox "Código de Gerencia: " & .COD\_GCIA & " no es valido", vbCritical, "Elija Otro"
On Error Resume Next
txtIN(6).SetFocus
Exit Sub
Else
.COD_GCIA = Trim(rstmp.Fields("COD_GCIA"))
End IfIf tmpCntPermisos = 0 Then If MsgBox("Usuario no tiene permisos", vbQuestion + vbYesNo, "¿Desea grabar?") = vbNo Then
On Error Resume Next
lvPermisos.SetFocus
Exit Sub
End If
End IfIf .TIPO\_USUARIO <> "PROV" And .COD\_GCIA = "" Then If MsgBox("Usuario no tiene Gerencia", vbQuestion + vbYesNo, "¿Desea grabar?") = vbNo Then
On Error Resume Next
txtIN(6).SetFocus
Exit Sub
End If
End If
'Correo
If .EMAIL <> "" Then
If Not checkIngresoEMAIL(.EMAIL) Then
MsgBox "E-Mail: " & .EMAIL & " no es valido", vbCritical, "Elija Otro"
On Error Resume Next
txtIN(5).SetFocus
Exit Sub
End If
End If
If .COD_RCB_EMAIL = "0" Or .COD_RCB_EMAIL = "" ThenElse If .EMAIL = "" Then MsgBox "Debe ingresar E-Mail o cambiar Tipo E-Mail", vbCritical, "Ingrese datos"
On Error Resume Next
txtIN(5).SetFocus
Exit Sub
End If
End If -
Can you believe this? This function is supposed to be called on the Set Focus event of textboxes in vb6
Private Sub txtIN_GotFocus(Index As Integer)
setTxtWnd txtIN(Index)
End SubPublic Sub setTxtWnd(oTxt As TextBox, Optional ByVal tbNoIndex As Boolean = False)
On Error Resume NextWith oTxt If .Parent.ActiveControl.Name = oTxt.Name Then If Not tbNoIndex Then If .Parent.ActiveControl.Index = oTxt.Index Then
M_FOC:
.BorderStyle = 1
.Appearance = 1
.SelStart = 0
.SelLength = Len(.Text)
Else
GoTo M_NO_FOC
End If
Else
GoTo M_FOC
End If
Else
M_NO_FOC:
.BorderStyle = 0
.Appearance = 0
End If
End With
End SubThis was done to read a file like this (That he designed also):
1 CONNECT=PROVIDER=SQLOLEDB.1;driver={SQL Server}
2 server=BGHLOCALES
3 uid=sa
4 pwd=408603222608533
5 database=LCR
6 Connect timeout=30
7 CommandTimeout=550On Error GoTo h_err_con
If tIdd = -1 Then
'Conect a SS
i = 0
tmp = App.Path + "\Bases.ini"
If Dir(tmp) = "" Then
MensajeBOX "Error en configuración. Falta archivo: " & tmp, vbCritical, "Control de entorno"
Exit Function
Else
strConnect = ""
Open tmp For Input As #1
Do While Not EOF(1)
Line Input #1, tmpIf i = 0 Then tmpPos = InStrRev(tmp, "1 CONNECT") If tmpPos > 0 Then strConnect = Trim(Mid(tmp, tmpPos + 10)) & ";" i = 1 End If Else If i = 1 Then tmpPos = InStrRev(tmp, "2 server") If tmpPos > 0 Then strConnect = strConnect & Trim(Mid(tmp, tmpPos + 2)) & ";" i = 2 End If Else If i = 2 Then tmpPos = InStrRev(tmp, "3 uid") If tmpPos > 0 Then strConnect = strConnect & Trim(Mid(tmp, tmpPos + 2)) & ";" i = 3 End If Else If i = 3 Then tmpPos = InStrRev(tmp, "4 pwd") If tmpPos > 0 Then
' tmpCr = CodificarLI("XVB2S45AF", 1)
' tmpCr = DeCodificarLI(tmpCr, 1)
tmpCr = DeCodificarLI(Trim(Mid(tmp, tmpPos + 6)))
strConnect = strConnect & "pwd=" & tmpCr & ";"
i = 4
End If
Else
If i = 4 Then
tmpPos = InStrRev(tmp, "5 database")
If tmpPos > 0 Then
strConnect = strConnect & Trim(Mid(tmp, tmpPos + 2)) & ";"
i -
This was done to read a file like this (That he designed also):
1 CONNECT=PROVIDER=SQLOLEDB.1;driver={SQL Server}
2 server=BGHLOCALES
3 uid=sa
4 pwd=408603222608533
5 database=LCR
6 Connect timeout=30
7 CommandTimeout=550On Error GoTo h_err_con
If tIdd = -1 Then
'Conect a SS
i = 0
tmp = App.Path + "\Bases.ini"
If Dir(tmp) = "" Then
MensajeBOX "Error en configuración. Falta archivo: " & tmp, vbCritical, "Control de entorno"
Exit Function
Else
strConnect = ""
Open tmp For Input As #1
Do While Not EOF(1)
Line Input #1, tmpIf i = 0 Then tmpPos = InStrRev(tmp, "1 CONNECT") If tmpPos > 0 Then strConnect = Trim(Mid(tmp, tmpPos + 10)) & ";" i = 1 End If Else If i = 1 Then tmpPos = InStrRev(tmp, "2 server") If tmpPos > 0 Then strConnect = strConnect & Trim(Mid(tmp, tmpPos + 2)) & ";" i = 2 End If Else If i = 2 Then tmpPos = InStrRev(tmp, "3 uid") If tmpPos > 0 Then strConnect = strConnect & Trim(Mid(tmp, tmpPos + 2)) & ";" i = 3 End If Else If i = 3 Then tmpPos = InStrRev(tmp, "4 pwd") If tmpPos > 0 Then
' tmpCr = CodificarLI("XVB2S45AF", 1)
' tmpCr = DeCodificarLI(tmpCr, 1)
tmpCr = DeCodificarLI(Trim(Mid(tmp, tmpPos + 6)))
strConnect = strConnect & "pwd=" & tmpCr & ";"
i = 4
End If
Else
If i = 4 Then
tmpPos = InStrRev(tmp, "5 database")
If tmpPos > 0 Then
strConnect = strConnect & Trim(Mid(tmp, tmpPos + 2)) & ";"
iI'd be careful about posting chunks of code large enough to be readily recognized. If a clueful coworker discovers them you could end up in serious trouble.
-- If you view money as inherently evil, I view it as my duty to assist in making you more virtuous.
-
I'd be careful about posting chunks of code large enough to be readily recognized. If a clueful coworker discovers them you could end up in serious trouble.
-- If you view money as inherently evil, I view it as my duty to assist in making you more virtuous.
Don't worry, we are only 2 in the development sector, me and my boss, and obviously he doesn't read The Code Project.com! ;) Anyway, i am really tied of working with someone like this, i see no future here, and i am actually looking for another job.
-
Don't worry, we are only 2 in the development sector, me and my boss, and obviously he doesn't read The Code Project.com! ;) Anyway, i am really tied of working with someone like this, i see no future here, and i am actually looking for another job.
Burnsys2 wrote:
Don't worry, we are only 2 in the development sector, me and my boss, and obviously he doesn't read The Code Project.com!
You'd better hope that this continues. This site is rather famous you know, and google does tend to return results from here. I assume he does use google.
Deja View - the feeling that you've seen this post before.
-
Burnsys2 wrote:
Don't worry, we are only 2 in the development sector, me and my boss, and obviously he doesn't read The Code Project.com!
You'd better hope that this continues. This site is rather famous you know, and google does tend to return results from here. I assume he does use google.
Deja View - the feeling that you've seen this post before.
That would be Seinfeld-worthy stuff! :)
-
This was done to read a file like this (That he designed also):
1 CONNECT=PROVIDER=SQLOLEDB.1;driver={SQL Server}
2 server=BGHLOCALES
3 uid=sa
4 pwd=408603222608533
5 database=LCR
6 Connect timeout=30
7 CommandTimeout=550On Error GoTo h_err_con
If tIdd = -1 Then
'Conect a SS
i = 0
tmp = App.Path + "\Bases.ini"
If Dir(tmp) = "" Then
MensajeBOX "Error en configuración. Falta archivo: " & tmp, vbCritical, "Control de entorno"
Exit Function
Else
strConnect = ""
Open tmp For Input As #1
Do While Not EOF(1)
Line Input #1, tmpIf i = 0 Then tmpPos = InStrRev(tmp, "1 CONNECT") If tmpPos > 0 Then strConnect = Trim(Mid(tmp, tmpPos + 10)) & ";" i = 1 End If Else If i = 1 Then tmpPos = InStrRev(tmp, "2 server") If tmpPos > 0 Then strConnect = strConnect & Trim(Mid(tmp, tmpPos + 2)) & ";" i = 2 End If Else If i = 2 Then tmpPos = InStrRev(tmp, "3 uid") If tmpPos > 0 Then strConnect = strConnect & Trim(Mid(tmp, tmpPos + 2)) & ";" i = 3 End If Else If i = 3 Then tmpPos = InStrRev(tmp, "4 pwd") If tmpPos > 0 Then
' tmpCr = CodificarLI("XVB2S45AF", 1)
' tmpCr = DeCodificarLI(tmpCr, 1)
tmpCr = DeCodificarLI(Trim(Mid(tmp, tmpPos + 6)))
strConnect = strConnect & "pwd=" & tmpCr & ";"
i = 4
End If
Else
If i = 4 Then
tmpPos = InStrRev(tmp, "5 database")
If tmpPos > 0 Then
strConnect = strConnect & Trim(Mid(tmp, tmpPos + 2)) & ";"
iHoly cow!! That really is remarkable!
-
This was done to read a file like this (That he designed also):
1 CONNECT=PROVIDER=SQLOLEDB.1;driver={SQL Server}
2 server=BGHLOCALES
3 uid=sa
4 pwd=408603222608533
5 database=LCR
6 Connect timeout=30
7 CommandTimeout=550On Error GoTo h_err_con
If tIdd = -1 Then
'Conect a SS
i = 0
tmp = App.Path + "\Bases.ini"
If Dir(tmp) = "" Then
MensajeBOX "Error en configuración. Falta archivo: " & tmp, vbCritical, "Control de entorno"
Exit Function
Else
strConnect = ""
Open tmp For Input As #1
Do While Not EOF(1)
Line Input #1, tmpIf i = 0 Then tmpPos = InStrRev(tmp, "1 CONNECT") If tmpPos > 0 Then strConnect = Trim(Mid(tmp, tmpPos + 10)) & ";" i = 1 End If Else If i = 1 Then tmpPos = InStrRev(tmp, "2 server") If tmpPos > 0 Then strConnect = strConnect & Trim(Mid(tmp, tmpPos + 2)) & ";" i = 2 End If Else If i = 2 Then tmpPos = InStrRev(tmp, "3 uid") If tmpPos > 0 Then strConnect = strConnect & Trim(Mid(tmp, tmpPos + 2)) & ";" i = 3 End If Else If i = 3 Then tmpPos = InStrRev(tmp, "4 pwd") If tmpPos > 0 Then
' tmpCr = CodificarLI("XVB2S45AF", 1)
' tmpCr = DeCodificarLI(tmpCr, 1)
tmpCr = DeCodificarLI(Trim(Mid(tmp, tmpPos + 6)))
strConnect = strConnect & "pwd=" & tmpCr & ";"
i = 4
End If
Else
If i = 4 Then
tmpPos = InStrRev(tmp, "5 database")
If tmpPos > 0 Then
strConnect = strConnect & Trim(Mid(tmp, tmpPos + 2)) & ";"
iWell, having just read this post properly, I really hope you've changed the details of servers and passwords in here. I really really hope you wouldn't be so daft as to tell people what your servers were called and what their passwords are.
Deja View - the feeling that you've seen this post before.
-
Can you believe this? This function is supposed to be called on the Set Focus event of textboxes in vb6
Private Sub txtIN_GotFocus(Index As Integer)
setTxtWnd txtIN(Index)
End SubPublic Sub setTxtWnd(oTxt As TextBox, Optional ByVal tbNoIndex As Boolean = False)
On Error Resume NextWith oTxt If .Parent.ActiveControl.Name = oTxt.Name Then If Not tbNoIndex Then If .Parent.ActiveControl.Index = oTxt.Index Then
M_FOC:
.BorderStyle = 1
.Appearance = 1
.SelStart = 0
.SelLength = Len(.Text)
Else
GoTo M_NO_FOC
End If
Else
GoTo M_FOC
End If
Else
M_NO_FOC:
.BorderStyle = 0
.Appearance = 0
End If
End With
End SubOk, his code is not up to your standard, but maybe that's why he becomes the boss. As a boss, he doesn't need to write good code. The worst boss could be someone who can actually write code and thinks he is much better at coding than his developers.
-
Can you believe this? This function is supposed to be called on the Set Focus event of textboxes in vb6
Private Sub txtIN_GotFocus(Index As Integer)
setTxtWnd txtIN(Index)
End SubPublic Sub setTxtWnd(oTxt As TextBox, Optional ByVal tbNoIndex As Boolean = False)
On Error Resume NextWith oTxt If .Parent.ActiveControl.Name = oTxt.Name Then If Not tbNoIndex Then If .Parent.ActiveControl.Index = oTxt.Index Then
M_FOC:
.BorderStyle = 1
.Appearance = 1
.SelStart = 0
.SelLength = Len(.Text)
Else
GoTo M_NO_FOC
End If
Else
GoTo M_FOC
End If
Else
M_NO_FOC:
.BorderStyle = 0
.Appearance = 0
End If
End With
End Sub -
Imagine: you would be the boss and he would be the programmer. :rolleyes: It is called the "Peter principles": to promote somebody to a position on which he cant do any harm. X|
Greetings from Germany
KarstenK wrote:
It is called the "Peter principles": to promote somebody to a position on which he cant do any harm.
Is that what happened to me? My name's Peter. Oh wait - I have no principles.
Deja View - the feeling that you've seen this post before.
-
KarstenK wrote:
It is called the "Peter principles": to promote somebody to a position on which he cant do any harm.
Is that what happened to me? My name's Peter. Oh wait - I have no principles.
Deja View - the feeling that you've seen this post before.
:doh: It is better to have principles, like a coding style. It helps to avoid mistakes and makes achieving greater goals easier: "Safety first" !! rules rockom bottom My personal life experience is, that people more often get into trouble if they have to less principles. Like: "Dont drink [to much] and drive" :-O
Greetings from Germany
-
Ok, his code is not up to your standard, but maybe that's why he becomes the boss. As a boss, he doesn't need to write good code. The worst boss could be someone who can actually write code and thinks he is much better at coding than his developers.
That's exaclly the problem!!! hehe, he actualy force me to work like him! I had lengthy discussions with him for that. Just for example, He keeps using Datatables against collection of custom objects, His reasons: 1: Datatables are fastest and lighter 1: I did a small benchmark code that loaded 10000 Customers to a datatable and to a collection of objects, Collection of objects loaded 3 to 5 times faster and consumed half the memory that datatable So he switch his argument to: 2:Collection of object are not easily bindable! 2:So i created a collection that inherits BindingList, and showed him! So he switched: 3:Collection of object are more insecure, becouse you can make mistakes when you fill them! 3:Customer.Name is always more secure that doing DTCustomers("Name") So in his last chance hi sayd: 4:But collection of objects keeps the memory fragmented, while datatable is loaded in a single continuous block of memory 4:At that point i just say, ok, do whatever you want, you are the boss!! Well, it's always like that. The other day i discused like 1 hour for this: We was working on a project and he has done something like this
Dim MIObject as object
Do
If condition then MiObject = AnotherObject
Loop
MiObject.DoSomenthingOf course the ide throws a warning becouse "MiObject" could be nothing. So tied of seen that warning, i replaced: Dim MIObject as object by Dim MIObject as object = Nothing So, i spend 2 hour arguing with him, couse he was saying that "= Nothing" loaded the Class in memory and etc... Or for example, i created a Class customer that we can use in every project, i pass the code to him, and when i get it back i see he made a Public Sub in a module like: "ChangeCustomerEmail(CusId as integer, Mail as String)", God Dammit!! for what the hell i did the customer class then? So, this is how i work everyday, i am really tired.
-
Well, having just read this post properly, I really hope you've changed the details of servers and passwords in here. I really really hope you wouldn't be so daft as to tell people what your servers were called and what their passwords are.
Deja View - the feeling that you've seen this post before.
-
That's exaclly the problem!!! hehe, he actualy force me to work like him! I had lengthy discussions with him for that. Just for example, He keeps using Datatables against collection of custom objects, His reasons: 1: Datatables are fastest and lighter 1: I did a small benchmark code that loaded 10000 Customers to a datatable and to a collection of objects, Collection of objects loaded 3 to 5 times faster and consumed half the memory that datatable So he switch his argument to: 2:Collection of object are not easily bindable! 2:So i created a collection that inherits BindingList, and showed him! So he switched: 3:Collection of object are more insecure, becouse you can make mistakes when you fill them! 3:Customer.Name is always more secure that doing DTCustomers("Name") So in his last chance hi sayd: 4:But collection of objects keeps the memory fragmented, while datatable is loaded in a single continuous block of memory 4:At that point i just say, ok, do whatever you want, you are the boss!! Well, it's always like that. The other day i discused like 1 hour for this: We was working on a project and he has done something like this
Dim MIObject as object
Do
If condition then MiObject = AnotherObject
Loop
MiObject.DoSomenthingOf course the ide throws a warning becouse "MiObject" could be nothing. So tied of seen that warning, i replaced: Dim MIObject as object by Dim MIObject as object = Nothing So, i spend 2 hour arguing with him, couse he was saying that "= Nothing" loaded the Class in memory and etc... Or for example, i created a Class customer that we can use in every project, i pass the code to him, and when i get it back i see he made a Public Sub in a module like: "ChangeCustomerEmail(CusId as integer, Mail as String)", God Dammit!! for what the hell i did the customer class then? So, this is how i work everyday, i am really tired.
Tell him you were in accident, and you now suffer from code amnesia, and all that you can remember is assembly and perl :)
**
xacc.ide-0.2.0.77 - now with C# 3.5 support and Navigation Bar!^
New xacc.ide release RSS feed^**
-
That's exaclly the problem!!! hehe, he actualy force me to work like him! I had lengthy discussions with him for that. Just for example, He keeps using Datatables against collection of custom objects, His reasons: 1: Datatables are fastest and lighter 1: I did a small benchmark code that loaded 10000 Customers to a datatable and to a collection of objects, Collection of objects loaded 3 to 5 times faster and consumed half the memory that datatable So he switch his argument to: 2:Collection of object are not easily bindable! 2:So i created a collection that inherits BindingList, and showed him! So he switched: 3:Collection of object are more insecure, becouse you can make mistakes when you fill them! 3:Customer.Name is always more secure that doing DTCustomers("Name") So in his last chance hi sayd: 4:But collection of objects keeps the memory fragmented, while datatable is loaded in a single continuous block of memory 4:At that point i just say, ok, do whatever you want, you are the boss!! Well, it's always like that. The other day i discused like 1 hour for this: We was working on a project and he has done something like this
Dim MIObject as object
Do
If condition then MiObject = AnotherObject
Loop
MiObject.DoSomenthingOf course the ide throws a warning becouse "MiObject" could be nothing. So tied of seen that warning, i replaced: Dim MIObject as object by Dim MIObject as object = Nothing So, i spend 2 hour arguing with him, couse he was saying that "= Nothing" loaded the Class in memory and etc... Or for example, i created a Class customer that we can use in every project, i pass the code to him, and when i get it back i see he made a Public Sub in a module like: "ChangeCustomerEmail(CusId as integer, Mail as String)", God Dammit!! for what the hell i did the customer class then? So, this is how i work everyday, i am really tired.
Burnsys2 wrote:
That's exaclly the problem!!! hehe, he actualy force me to work like him!
In that case, keep posting! Although it won't help you much. :)
-
That's exaclly the problem!!! hehe, he actualy force me to work like him! I had lengthy discussions with him for that. Just for example, He keeps using Datatables against collection of custom objects, His reasons: 1: Datatables are fastest and lighter 1: I did a small benchmark code that loaded 10000 Customers to a datatable and to a collection of objects, Collection of objects loaded 3 to 5 times faster and consumed half the memory that datatable So he switch his argument to: 2:Collection of object are not easily bindable! 2:So i created a collection that inherits BindingList, and showed him! So he switched: 3:Collection of object are more insecure, becouse you can make mistakes when you fill them! 3:Customer.Name is always more secure that doing DTCustomers("Name") So in his last chance hi sayd: 4:But collection of objects keeps the memory fragmented, while datatable is loaded in a single continuous block of memory 4:At that point i just say, ok, do whatever you want, you are the boss!! Well, it's always like that. The other day i discused like 1 hour for this: We was working on a project and he has done something like this
Dim MIObject as object
Do
If condition then MiObject = AnotherObject
Loop
MiObject.DoSomenthingOf course the ide throws a warning becouse "MiObject" could be nothing. So tied of seen that warning, i replaced: Dim MIObject as object by Dim MIObject as object = Nothing So, i spend 2 hour arguing with him, couse he was saying that "= Nothing" loaded the Class in memory and etc... Or for example, i created a Class customer that we can use in every project, i pass the code to him, and when i get it back i see he made a Public Sub in a module like: "ChangeCustomerEmail(CusId as integer, Mail as String)", God Dammit!! for what the hell i did the customer class then? So, this is how i work everyday, i am really tired.
Sounds like someone i used to work for. Every time i proposed creating a new class to put functionality in, i was met with "Don't create any new objects, instantiation is expensive and it will make the system inefficient." The net result was huge functions in huge code files and a flat packed inter dependant code structure.(Among other gems) However, i now work for a company that encourages pragmatic design so all is well. T
------------------------------- Carrier Bags - 21st Century Tumbleweed.
-
Don't worry, we are only 2 in the development sector, me and my boss, and obviously he doesn't read The Code Project.com! ;) Anyway, i am really tied of working with someone like this, i see no future here, and i am actually looking for another job.
Oh yeah, I'd hire you in a flash. Especially as you have total respect for your line manager and are completely discreet when it comes to the publishing of in house code :)
The only thing unpredictable about me is just how predictable I'm going to be.