Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Op dit moment zijn we bezig met een stageopdracht waarbij we bij een hostingprovider alles op orde moeten brengen. We moeten de bestaande klanten overzetten naar het nieuwe systeem en moeten een admin panel schrijven voor zovel de beheerder als de klant.
Admin panel zit nogal wat werk in, vooral omdat er allerlei gekke protocollen en dingen om te hoek komen kijken en ook dingen die we nog nooit eerder gedaan hebben.
Vervolgens vraagt de baas van het bedrijf of we alvast de database server met MySQL konden upgraden, omdat een klant erom vroeg. Ik hem uitleggen dat dat ongeveer een halfuur tot een uur downtime met zich meebrengt, en dat we uitgebreid moeten testen. OK, is goed, probeer maar met je testserver waar je nu ook je admin panel op maakt.
Zo gezegd zo gedaan, mysql wordt fluitje van een cent, postgresql was wat meer prutswerk maar werkte uiteindelijk gewoon. En toen kwam het leukste... de LDAP server.
De LDAP server wordt gebruikt voor de instellingen backend en de authenticatie van het huidige systeem: ISPMan. Leuk en aardig, maar zowat ALLE regels die je in OpenLDAP 2.1.x kunt schenden bij het invoegen van data, werden geschonden door de aanwezige data in de OpenLDAP 2.0.x server. Mja, en dan ga je kijken: ow, er is een upgrade van het pakket...
upgradescripts draaien over de LDAP dump, proberen te importeren in je testserver... homaar, werkte ook niet. Databaseserver is dus nog steeds niet voorzien van nieuwe software, gaat niet eerder gebeuren dan wanneer ons administratiepaneel klaar is en de rest ook is opgezet.
Ik sta nu al te springen om conversietools te bakken voor dat gare pakket wat ze nu gebruiken (not

Verwijderd
mijn zus schreeuwt naarboven, 'zachter dat geluid', ik hoor niks. Waarna zij de stroom in het huis uitzet..
M`n 'nieuwe' 4Gig Harddisk crashed naar 3 maanden. Ik kreeg wel een nieuwe, maar natuurlijk geen backup gemaakt.
Een vriend van mij was in slaap gevallen, maar had nog een waxinelichtje op z`n tv staan, resultaat hele huis in de fik. 5 jaar muziek die ik samen met hem had gemaakt en op tapes/minidisc`s had staan was weg. Sindsdien zet ik m`n belangrijke source ook online.
Onze grootste nachtmerries zitten niet in het verleden, maar in de toekomst
[ Voor 3% gewijzigd door Standeman op 14-10-2004 21:54 ]
The ships hung in the sky in much the same way that bricks don’t.
Húilen gewoon. Na anderhalf uur kutten heel die methode weggemikt, en ja, ik kende de code toen zo goed, dat ik hem in 5 minuten weer erin ramde. En toen werkte het
Tsja, de stack is the root of all evil heh...daar begint alle elende meestaleamelink schreef op 14 oktober 2004 @ 21:59:
Ik was met een methode bezig die gewoon brak was. Ik stopte iets in een stack, deed niets meer met die stack, en vervolgens zat er iets anders op die stack...
Húilen gewoon. Na anderhalf uur kutten heel die methode weggemikt, en ja, ik kende de code toen zo goed, dat ik hem in 5 minuten weer erin ramde. En toen werkte het
Verwijderd
Kom je de volgende dag. Hè, dat kan ook gewoon veel simpeler
Verwijderd

In een JSP pagina commentaar zetten dat eigenlijk alleen voor intern bedoeld is, en dan perongeluk <!-- --> ipv <%-- --%> gebruiken.
Ik wilde ff iets snel uitproberen, een php scriptje dat 3 dingen bevatte, een veld waar je een e-mail adres in kon vullen, een veld waar je de hoeveelheid mailtjes in kon vullen en een venzend knop.
Dus wat doe ik: ff uitproberen.
In het email veld mijn e-mail adres, en bij de hoeveelheid 8.
Toen klikte ik op verzend.
Ik had het script zo geschreven, dat er als de ingevulde aantal mailtjes verzonden was (met standaard test-textje) je een bevestiging te zien zou krijgen.
Maar die kreeg ik niet. Pagina bleef laden. Vreemd dacht ik.. na ongeveer 3 seconde de pagina gesloten en mijn email gechecked. Bleek dat er meer dan 44000 mailjes nieuwe mailtjes waren.

Binnenhalen was geen optie.. want tussentijds stoppen lukte niet, dan hing OE. Ook bij later openen van OE bleken alle berichten dan ook nog steeds op de server te staan.
Oorzaak: $a--; vergeten

Oplossing: Pop Account gewist
[ Voor 4% gewijzigd door sjhgvr op 14-10-2004 23:04 ]
Op me vorige stage mooi programmatje gemaakt in visual c++.
Het zou computers moeten opruimen overbodige dingen weggooien je kent dat wel.
Het programma ging wild doen en formateerde alles waar die op kon komen.
Homemade virus dus... waren ze nie heel blij mee op me stage mocht ook gelijk ophouden met t ontwikkelen
ABit nf7-s barton 2500+ Geforce4 ti4680
We besloten om alles opnieuw te schrijven in C/C++. Het mocht niet helemaal in C++, want dat snapten de programmeurs daar niet. Dus onze excel library (microsoft heeft ooit het binary excel 95 formaat gedocumenteerd in de msdn) schreven we in C++ en dat benaderden we vanuit C. Objecten werden handles etc..
Goed ons proggramma was af en snel, het was ruim 70x sneller dan het vb programma. Maar het moest nog door beheer goedgekeurd worden. Het moest als NT-service draaien, want dat was makkelijker voor beheer.
De eerste dag, 10 klanten geprobeerd, nou werkte perfect. De volgende dag met 1000 klanten, ons programma deed helemaal niets. Geen entries in de logbestanden. Geen uitvoer. Helemaal niets! Bleek dat beheer de SYSTEM user alle rechten had ontnomen op de directories die ons programma gebruikte

Toen we daar achter waren ff naar de server gegaan met iemand van beheer, alles weer goed ingesteld. Tijd voor de test. Ons programma pompt er in een 1 minuut 1000 excel sheets uit. Ik zal de opmerking van de systeembeheerder nooit vergeten, "Hmm, jullie gebruiken wel 100% cpu, dat is niet zo mooi".

Vertrouwen op je collega's dat de spullen die je overgedragen krijgt ook netjes in de backup staan.
En crasht je schijf en blijkt er praktisch niks in de backup te staan.
Senile! Senile Oekaki
Haha, jij vertrouwt je collega's nog ? Dat er nog van dat soort mensen zijn zeg.._bas_ schreef op 15 oktober 2004 @ 10:22:
De ergste nachtmerrie? Net 3 weken geleden meegemaakt....
Vertrouwen op je collega's dat de spullen die je overgedragen krijgt ook netjes in de backup staan.
En crasht je schijf en blijkt er praktisch niks in de backup te staan.![]()
![]()
Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.
Verwijderd
werkt er zeker pas een paar dagenfarlane schreef op 15 oktober 2004 @ 14:56:
[...]
Haha, jij vertrouwt je collega's nog ? Dat er nog van dat soort mensen zijn zeg..
Waarom draait die service dan ook als System?Sjaaky schreef op 15 oktober 2004 @ 10:21:
Bleek dat beheer de SYSTEM user alle rechten had ontnomen op de directories die ons programma gebruikte
Per ongeluk bij het recursief verwijderen van directories ook ".." ingedoken?Artixxx schreef op 14 oktober 2004 @ 23:08:
Hmm...
Op me vorige stage mooi programmatje gemaakt in visual c++.
Het zou computers moeten opruimen overbodige dingen weggooien je kent dat wel.
Het programma ging wild doen en formateerde alles waar die op kon komen.
Homemade virus dus... waren ze nie heel blij mee op me stage mocht ook gelijk ophouden met t ontwikkelen. Ze zijn de hele nacht bezig geweest met back-ups enz.....
Ha! Een eigen intranet met code van totaal 6 stagiares proberen op te lappen en te verkopen aan een klant...Fox1234 schreef op 06 juni 2002 @ 22:41:
[...]
Ben ik het helemaal mee eens,,,,, of een stagiaire zijn code moeten beheren,,,,,,,,,,,,,,,,,
PC: MSI-NEO2FISR P4-2.6HT@2.8 Dual-channel GEIL-PC3500 Intel CSA GB-LAN 9600PRO Pioneer DVR106 Server: Dual Xeon-2GHz 3Ware 7500-12 11x120GB RAID5 GB-LAN RH 9 2.4.22 Digicam: Sony DSC-F717
Naast incompetente programmer-collega's is het missen van recente backups een nachtmerrie die me pas geleden nog overkomen is. Ook een hele bekende zag ik al. Maarja, wie 'vergeet' dan ook zo'n dev-partitie te backupen voor een clean reinstall!?!? Ik dus... Half jaar werk kwijt.
Goed om te zien dat andere mensen dat ook kennen: ergens een nachtje over slapen werkt echt.
[ Voor 7% gewijzigd door Explore op 16-10-2004 00:24 ]
[ specs ] [ Tweaker gallery ]
OlafvdSpek schreef op 15 oktober 2004 @ 15:06:
Waarom draait die service dan ook als System?

I know what u mean. Af en toe best lastig om alles zelf uit te zoeken, je leert er echter wel veel van.Explore schreef op 15 oktober 2004 @ 15:22:
Opvallend hoe veel mensen klagen over incompetente collega's. Ik hoor dat wel vaker. In het bedrijfje waar ik werk ben ik de enige programmer, dus ik kan niet eens met andere programmers brainstormen over problemen die ik tegenkom (daarom vraag ik op GoT zo veel)
Dat kost je echter wel erg veel tijd. Ik bedoel, welke gek zit op z'n vrije vrijdagavond achter de computer?twiekert schreef op 15 oktober 2004 @ 15:34:
[...]
I know what u mean. Af en toe best lastig om alles zelf uit te zoeken, je leert er echter wel veel van.
[ specs ] [ Tweaker gallery ]
ik denk dat je nu héél wat tweakertjes op hun p*k hebt getraptExplore schreef op 16 oktober 2004 @ 00:19:
[...]
Dat kost je echter wel erg veel tijd. Ik bedoel, welke gek zit op z'n vrije vrijdagavond achter de computer?
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij
Weet ik wel zeker.RobIII schreef op 16 oktober 2004 @ 00:37:
ik denk dat je nu héél wat tweakertjes op hun p*k hebt getrapt
'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Er is ook nog zoiets als een sociaal leven heb ik gehoord. Ik moet die echter stelling nog toetsen op de betrouwbaarheid ervan..oisyn schreef op 16 oktober 2004 @ 00:58:
Dat is niet zonde, dat is zelfstudie en derhalve zelfverrijking
'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Verwijderd
Heb je geen source control / dagelijkse backups dan?Verwijderd schreef op 16 oktober 2004 @ 12:49:
Perongeluk alles selecteren en deleten voordat je iets op slaat in een grote engine class... weg 4 maanden werk
Digitaal onderwijsmateriaal, leermateriaal voor hbo
Verwijderd schreef op 16 oktober 2004 @ 12:49:
Perongeluk alles selecteren en deleten voordat je iets op slaat in een grote engine class... weg 4 maanden werk
All my posts are provided as-is. They come with NO WARRANTY at all.
Verwijderd

Was een PET4000 overigens. En nee, er was natuurlijk geen backup van, dat deed je toen nog niet, als het geen levensbelang was
P60, 40 Mb, hdd 400 Mb en nog een hele berg nieuwere spullen
Dat is inderdaad een van de minder leuke dingen. Op het moment dat applicaties richting datacenter gaan zijn er altijd zaken die het niet doen, ondanks dat de release notes duidelijk aangeven dat applicatie A een HTTPS koppeling heeft met applicatie B wordt dat toch weer neergezet op machines met een firewall er tussen die NIETS zinnigs doorlaat. Gevolg: klagende testers en weer een incident.Sjaaky schreef op 15 oktober 2004 @ 10:21:
[Leuk verhaal gesnipped]
Bleek dat beheer de SYSTEM user alle rechten had ontnomen op de directories die ons programma gebruikte
Toen we daar achter waren ff naar de server gegaan met iemand van beheer, alles weer goed ingesteld. Tijd voor de test. Ons programma pompt er in een 1 minuut 1000 excel sheets uit. Ik zal de opmerking van de systeembeheerder nooit vergeten, "Hmm, jullie gebruiken wel 100% cpu, dat is niet zo mooi"..
With the light in our eyes, it's hard to see.
Zou je niet eens denken aan backupsVerwijderd schreef op 16 oktober 2004 @ 12:49:
Perongeluk alles selecteren en deleten voordat je iets op slaat in een grote engine class... weg 4 maanden werk

Verder ben ik soms erg perfectionistisch. Soms als ik dan halverwege een project ben vind ik de basis ranzig en wil ik weer from scratch beginnen, omdat ik gaande weg dingen tegen kom die misschien drastisch beter kunnen. Maar het is dan vaak al te laat om dat aan te passen, dus neem ik er maar genoegen mee en zet het op het todo-lijstje voor versie 2.
Of ik ben vrolijk bezig met het modden van een source als ik er ineens achterkom dat ik in de verkeerde source aan het werken ben.
Fouten die gemakkelijk voorkomen konden worden, maar daar zijn we nou eenmaal mens voor.
-=Waiz=-
Dat kan je dus voorkomen door een goed ontwerp te makenFTPlus schreef op 17 oktober 2004 @ 23:53:
Soms als ik dan halverwege een project ben vind ik de basis ranzig en wil ik weer from scratch beginnen, omdat ik gaande weg dingen tegen kom die misschien drastisch beter kunnen.
/me weet geen leuke quote voor in zijn signature
En daar kom je soms pas achter als je al verder bent in je project. Vergeet niet dat een goed ontwerp maar al te vaak afhankelijk is van een voortschrijdend inzicht in het probleem dat opgelost moet worden.KnoppenSpook schreef op 18 oktober 2004 @ 09:19:
Dat kan je dus voorkomen door een goed ontwerp te maken
Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.
Verwijderd
Mee eens. En een heel herkenbaar probleemfarlane schreef op 18 oktober 2004 @ 09:45:
[...]
En daar kom je soms pas achter als je al verder bent in je project. Vergeet niet dat een goed ontwerp maar al te vaak afhankelijk is van een voortschrijdend inzicht in het probleem dat opgelost moet worden.
Verwijderd
Vind ik meer de nachtmerrie van een werkgever, dat hij zulke werknemers in dienst heeft. Als ik mijn computer uit het raam gooi, kan ik met een nieuwe zo weer verder. Zelfde geldt voor server. Als je geen backup's maakt, verdien je het om een keer 4 maanden werk verloren te zien gaan.Verwijderd schreef op 16 oktober 2004 @ 12:49:
Perongeluk alles selecteren en deleten voordat je iets op slaat in een grote engine class... weg 4 maanden werk
Dan is het maar af te vragen wat de werkgever uiteindelijk erger zou vinden...Verwijderd schreef op 18 oktober 2004 @ 11:14:
[...]
Vind ik meer de nachtmerrie van een werkgever, dat hij zulke werknemers in dienst heeft. Als ik mijn computer uit het raam gooi, kan ik met een nieuwe zo weer verder. Zelfde geldt voor server. Als je geen backup's maakt, verdien je het om een keer 4 maanden werk verloren te zien gaan.
PC uit het raam of 4 maanden aan werk kwijt
Verwijderd
Tot ik tot de coclussie kwam dat mijn mail box wel errug leeg bleef.
Gelukkig zagen de meeste klanten de humor er wel een beetje van in.
[ Voor 6% gewijzigd door Verwijderd op 18-10-2004 11:55 ]
Verwijderd
4 maanden werk kwijt natuurlijk..-FoX- schreef op 18 oktober 2004 @ 11:47:
[...]
Dan is het maar af te vragen wat de werkgever uiteindelijk erger zou vinden...
PC uit het raam of 4 maanden aan werk kwijt
las ff verkeerd

[ Voor 12% gewijzigd door Verwijderd op 18-10-2004 11:58 ]

Verwijderd schreef op 18 oktober 2004 @ 11:55:
Bij een helpdesk systeem waarbij de replies naar klanten gingen via email de email getest. Ik dacht dat ik de reply standaard op mijn eigen email had staan. Dus ik in mijn standaard programmeer test taal van "test dikke snikkel" "kom deze rukmail ook aan" "pff is het al 18:00 ik zie dubbel" al een uurtje aan het verzenden.
Tot ik tot de coclussie kwam dat mijn mail box wel errug leeg bleef.
Gelukkig zagen de meeste klanten de humor er wel een beetje van in.
Leren door te strijden? Dat doe je op CTFSpel.nl. Vraag een gratis proefpakket aan t.w.v. EUR 50 (excl. BTW)
Dit moet dhr Tan zijn!!! en dan hebben we het nog niet over zijn wel nederlands sprekende collega's die er evenveel soep van hebben gegetenNMe84 schreef op 12 oktober 2004 @ 21:51:
Mijn nieuwe ergste nachtmerrie sinds het begin van dit schooljaar: les krijgen van een leraar die amper Nederlands spreekt over de basisprincipes van OOP, maar zelf geen idee heeft waarover hij lult. Hij lapt zo'n beetje elke regel aan zijn laars, en lijkt gewoon at random met termen als aggregatie en specialisatie te gooien in de hoop dat wij dan niet merken hoe weinig er klopt van wat ie zegt. Intussen weet niemand in mijn projectgroep hoe de opdracht in elkaar zit, gewoon omdat we volgens de opdrachtbeschrijving alles wat we weten over OOP af moeten leren, en foute dingen moeten toepassen.
* haroldd vraagt zich af hoe deze meneer ooit aan zijn baan is gekomen.
Werken is gezond, laat het daarom over aan de zieken!
Gelukkig kunnen de meeste klanten van mij geen nederlands....Verwijderd schreef op 18 oktober 2004 @ 11:55:
Bij een helpdesk systeem waarbij de replies naar klanten gingen via email de email getest. Ik dacht dat ik de reply standaard op mijn eigen email had staan. Dus ik in mijn standaard programmeer test taal van "test dikke snikkel" "kom deze rukmail ook aan" "pff is het al 18:00 ik zie dubbel" al een uurtje aan het verzenden.
Tot ik tot de coclussie kwam dat mijn mail box wel errug leeg bleef.
Gelukkig zagen de meeste klanten de humor er wel een beetje van in.

Programmer - an organism that turns coffee into software.
Verwijderd

Aaaah, het goeie ouwe Novilon van de kelderkantoortjes.
Hence: CodeVault
Hier kan je je code droppen in je eigen prive archief, zodat je deze (hopelijk) nooit meer kwijt raakt
Hierbij wil ik wel vermelden, het is maar een concept van mij persoonlijk, en er is ongetwijfeld nog veel op aan te merken. Wel nodig ik de mensen in dit topic uit om het eens te proberen aangezien het dankzij dit topic opgezet is, en natuurlijk hoor ik graag alle reacties
//edit: Door een klein probleempje met het signup formulier (verwees nog naar verkeerd domein) is er 1 inschrijving verloren gegaan waarvan ik dus ook niet meer de gegevens heb (lekker begin
[ Voor 17% gewijzigd door rvanlooijen op 18-10-2004 16:45 ]
Verwijderd
Tijd van de server eventjes veranderen om een bepaalde instelling te testen. Resultaat: Sql Server helemaal over de rooie (hoe en waarom weet ik nog niet) en een bepaald serverprogramma vond dat de slagbomen die het aanstuurde om die tijd dicht moesten. En dat terwijl er net een vrachtwagen onder stond




Verwijderd
Just the tip of the iceberg

Erg onprofessioneel. Al kan ik de lol van deze fout ook wel inzien, als baas had ik je een enorme uitbrander gegeven en je beloofd dat je voortaan nooit meer dergelijke teksten mocht gebruiken voor testwerk, op straffe van ontslag. Je moet er gewoon altijd rekening mee houden dat dergelijke teksten ongewild op andere plekken kunnen opduiken dan je verwacht en dat kan een professionele onderneming zich eenvoudigweg niet permitteren.Verwijderd schreef op 18 oktober 2004 @ 11:55:
Bij een helpdesk systeem waarbij de replies naar klanten gingen via email de email getest. Ik dacht dat ik de reply standaard op mijn eigen email had staan. Dus ik in mijn standaard programmeer test taal van "test dikke snikkel" "kom deze rukmail ook aan" "pff is het al 18:00 ik zie dubbel" al een uurtje aan het verzenden.
Tot ik tot de coclussie kwam dat mijn mail box wel errug leeg bleef.
Gelukkig zagen de meeste klanten de humor er wel een beetje van in.
Een bekend voorbeeld is de programmeur die zijn mailmerge-progsel testte met de geadresseerde Fat Bastard. De brief begon dan met de aanhef 'Dear Fat Bastard'. Per ongeluk bleef deze tekst staan in de uiteindelijke brief die naar de belangrijkste klanten werd gestuurd. Gevolg: een heleboel van de belangrijkste klanten kwamen nooit meer terug bij dit bedrijf. De schade was niet te overzien. Als de programmeur wat professioneler was geweest en met een 'onschuldige' naam had getest, was het allemaal zo erg niet geweest.
Het is een beetje moralistisch verhaaltje geworden, maar realiseer je dat dit soort geintjes je baan kan kosten.
Een goede grap mag vrienden kosten.
Verwijderd
Simpel truukje. Alleen testen op development database waarbij je alle anders dan interne adressen vervangt naar een standaard intern adres (bv test@mycompany.nl)LuCarD schreef op 18 oktober 2004 @ 15:15:
[...]
Gelukkig kunnen de meeste klanten van mij geen nederlands....Maar als ik dat hier zo proberen dan heb ik denk ik wel een probleem...
Verwijderd
'k heb niet alles gelezen, maar stond deze er al bij:
Ik heb een hele mooie library, die ik in elk project bijna gebruik door een Linux Symlink te maken naar de map met PHP-bestanden. Da's handig. Centraal de library aanpassen, en alle toepassingen veranderen mee.
Helaas ziet windows onder Samba een symlink niet als een short-cut, maar als de map zelf. Toen ik dus een keer een test-website weggooide, was ook meteen m'n library weg.
Uiteraard had ik nog wel een oudere versie, maar die was van een week terug ... en natuurlijk heeeeel veel kleine aanpassinkjes in heeeeeel veel verschillende bestandjes gedaan die week...
Grrrrr --- dat was voor mij echt een nachtmerrie...
haroldd schreef op 18 oktober 2004 @ 14:19:
Dit moet dhr Tan zijn!!! en dan hebben we het nog niet over zijn wel nederlands sprekende collega's die er evenveel soep van hebben gegeten
Jeej, een soortgenoot! \o/ Jij gaat door voor de koelkast!
'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.
Komt daar opeens de directeur binnen die ff snel een desktop pc nodig had. Notabene directeur van een informatica opleiding. Ziet dat onze server 'uit'
Ja meneer, maar ons backup systeem is niet 'directeur-proof', lamzak!

Ik was bezig met de code om een alert te sturen naar een x aantal users (tussen 250 en 1000 gebruikers)..
In mijn browser kan ik simpelweg door te klikken even snel naar het test systeem en het live systeem..
Ik wou mijn code even testen en verstuurde een alert..
..
(je raadt het vast wel


Ask yourself if you are happy and then you cease to be.
Verwijderd
Ja ik geef je helemaal gelijk... bij dat bedrijf werk ik al een tijd niet meer.. tegenwoordig ben ik voor mijzelf bezig en dan let je met dat soort zaken zeker wel beter op...Met dat soort stommiteiten krijg ik ze nu zelf aan de lijntomatoman schreef op 18 oktober 2004 @ 20:11:
[...]
Erg onprofessioneel. Al kan ik de lol van deze fout ook wel inzien, als baas had ik je een enorme uitbrander gegeven en je beloofd dat je voortaan nooit meer dergelijke teksten mocht gebruiken voor testwerk, op straffe van ontslag. Je moet er gewoon altijd rekening mee houden dat dergelijke teksten ongewild op andere plekken kunnen opduiken dan je verwacht en dat kan een professionele onderneming zich eenvoudigweg niet permitteren.
Een bekend voorbeeld is de programmeur die zijn mailmerge-progsel testte met de geadresseerde Fat Bastard. De brief begon dan met de aanhef 'Dear Fat Bastard'. Per ongeluk bleef deze tekst staan in de uiteindelijke brief die naar de belangrijkste klanten werd gestuurd. Gevolg: een heleboel van de belangrijkste klanten kwamen nooit meer terug bij dit bedrijf. De schade was niet te overzien. Als de programmeur wat professioneler was geweest en met een 'onschuldige' naam had getest, was het allemaal zo erg niet geweest.
Het is een beetje moralistisch verhaaltje geworden, maar realiseer je dat dit soort geintjes je baan kan kosten.
Verwijderd
Als je het scrippie als root uitvoert ben je zuur ja.... daarom doe je dus ook niks onder root account tenzij het moet.Wolfboy schreef op 13 juli 2004 @ 23:39:
bij een scriptje dat een paar bestandjes moest chmodden per ongeluk een . vergeten / in plaats van ./ geeft vervelende resultaten
Verwijderd
1
2
3
4
5
| typedef struct foo bar; struct bar { int blaat; int foobar; } |
Internal compiler error in Visual C++... De code is niet juist, dat weet ik, maar ik zou toch een normale error moeten krijgen?
[ Voor 10% gewijzigd door Verwijderd op 19-10-2004 15:59 ]
Collega heeft andere tweede hands server opgepikt en ben em nu aan het herinstalleren
1
2
3
4
5
| $parameters['deleted'] = 0; if ($parameters['actie'] = "kla.geen") { $parameters['deleted'] = 1; $parameters['vertegenwoordiger'] = strtoupper($context->user); } |
en toen belde er iemand op met het verhaal dat er zomaar dingen verdwenen...

Verwijderd
En dan staat er inderdaad een zowat flippende project manager die maar niet snapt hoe hij die uren gaat verantwoorden. Op het moment dat hij mij wil aankijken in de trand van "hoelang duurt het nog" zegt mijn blik genoeg en druipt hij af naar zijn gantt chart wereldje. Maak van jouw probleem niet mijn probleem.Verwijderd schreef op 19 oktober 2004 @ 00:02:
Mijn ergste nachtmerrie klinkt ongeveer zo: "Hoe lang denk je dat het duurt om dit-en-dit en zus-en-zo te implementeren? We hebben een offerte gedaan voor xx uur..."
Het lullige is nu, dat ze er geen van alleen iets van leren. Het management wat de projecten verkoopt aanspreken durven ze niet, immers, daar zijn de kontkorsten te halen, en ze denken altijd weer dat hun wel bepalen wat er in het project wel en niet moet gaan komen. Het is dan ook weer leuk om te zien als er een verhitte discussie aan de telefoon wordt gevoerd, dat de klant bijna altijd wint. .. 5 uur zei je he?
Dit ken ik ja

't Was hier ook zo bij een project. Daar stelde ze het volgende:
"We hebben hier een oude applicatie die op OS/2 draait en dat moet nu een J2EE applicatie worden. Aangezien het 1 op 1 overbouwen worden en er al een functioneel document van is, moet dat in 3 maanden wel kunnen."

Die gasten denken dus dat als functionaliteit niet veranderd, dat het maar even heel simpel is om dat nieuw te bouwnen

Daarbij werden er wel wat functionele wijzigingen gedaan die technisch helemaal niet goed waren onderzocht, maar al wel waren beloofd aan de gebruikers. (Alhoewel ze volgens mij de gebruikers gewoon vertellen: "dit is goed voor jullie, dus zo gaat het worden" en bieden ze geen alternatieven aan en zijn de gebruikers vaak ook nog van een dergelijk lagere inteligentie klasse dat ze zelf ook geen alternatieven kunnen verzinnen en het dus maar voor waar aannemen).
Later bleek dus dat het technisch best lastig werd en dat als we het functioneel op de oude manier hadden gelaten het bijna niks verschilden met de werkprocedure die de gebruikers nu moesten gaan volgen

Komt er op neer dat je je als programmeur altijd de klere moet werken om lastige omwegen te maken om de aplpicatie toch werkend te krijgen, omdat een of andere nono al dingen gaat bepalen voor ze echt onderzocht zijn

Neem je whisky mee, is het te weinig... *zucht*
NMe84 schreef op 19 oktober 2004 @ 00:59:
[...]
offtopic:
Jeej, een soortgenoot! \o/ Jij gaat door voor de koelkast!
Heb daar ook gezeten, maar Tan is toch exit? Er kan er toch maar eentje zijn???
Toen plassen pissen werd, is het gezeik begonnen.
Verwijderd
1. vaste opdrachtgevers die elke keer met zaken komen die fout zijn gegaan en je kan ze zelf niet reproduceren (sessions die spontaan verdwijnen e.d.)
2. script dat je belangrijkste server compleet lam legt: vanochtend dacht ik ff een debugmailtje te laten genereren in een stuk live code... ging dus in een endless loop. Max execution time staat op onze server op 3 minuten en memory limiet was wel ingesteld maar blijkt dus alleen te werken als PHP zo gecompiled is (en PHP win32 is dat dus niet). Heb 't ip waar die site op draaide moeten laten blokkeren (leve 't naast de ISP zitten), wachten tot laatste instantie time out had gehad en script verwijderd.
Nog even op m'n devbak geprobeerd met time limit op 5 seconden: geheugengebruik steeg toch over de 100MB !
Da's zweten, vooral als je alleen op kantoor bent
1. is een voortdurende nachtmerrie, 2 hoop ik niet nogmaals mee te maken... er draaien een stuk 40 sites op die server, zowel onze belangrijkste site als een berg zware van een van de opdrachtgevers... die server wil je er niet lang uit hebben liggen... goed dat 't niet op prime time gebeurde.
* LEiPiE moest 't ff kwijt
Papa x3, PHP-progger, Citrofiel, import-Tukker, muziekliefhebber
Was inloggen via SSH geen optie (meer)?leipie schreef op 22 oktober 2004 @ 16:39:
Heb 't ip waar die site op draaide moeten laten blokkeren (leve 't naast de ISP zitten)
Het return-path stond ingesteld op php@eenserver.eenisp.nl (iig de standaard bij verzenden vanuit php), dus de isp na een week (ik was parttimer
Toen heb ik vanaf een of ander servertje een 'mijn zoon is ernstig ziek, stuur dit door'-mailtje naar iedereen verstuurd

Is er trouwens al een geaccepteerde standaard (rfc) om return-mail automatisch te beoordelen? Bij mijn weten bestond dat toen nog niet en moest je dus handmatig controleren of iets een permanent failure of out-of-office mailtje was.
Verder zijn sommige klanten ook heerlijk. We hebben een keer de opdracht gekregen om een beveiligd gedeelte te maken voor een website. Dus met users/groepen/rechten. Op welke webserver? Tja dat weten we nog niet, het moet op elke server kunnen draaien. Welke taal? Tja dat weten we ook niet. Op de servers die we nu hebben staat alleen perl en php mag/kan niet geïnstalleerd worden. En de database? Tja weten we ook nog niet, daar willen we onafhankelijk van zijn.
Goed daar zit je dus....

Uiteindelijk iets in perl gemaakt dat gebruik maakt van dbm bestanden. (Een dbm bestand is een soort van dictionary/hashtable op schijf). Werkte redelijk, maar het meest kromme komt nog. Het idee was om een universele clientside admin te maken in java. Zodat je alles in dezelfde omgevingen kon beheren etc.. Maar die tool sprak alleen sql. Dus of ik ff kon zorgen dat de dbm files dmv sql aangesproken konden worden. Toen had ik nog geen vak compilerbouw gehad, dus alles ging met regexps, maar het idee blijft natuurlijk

Was verder wel in testomgeving
☎ Telecommunicatie van vroeger
🚅Alles over spoor en treintjes
Uhmm.. nog een stapje erger... naar India moeten om die mannen qua nivo omhoog te tillen... a la Tom Cruise zeg maar... Mission Impossible...
Less = more
Verwijderd
En dat allemaal omdat die graaiende top een paar euro's wil uitsparen (die ze dan vervolgens weer in de eigen zak stoppen)!Jamal schreef op 28 oktober 2004 @ 09:40:
[...]
Uhmm.. nog een stapje erger... naar India moeten om die mannen qua nivo omhoog te tillen... a la Tom Cruise zeg maar... Mission Impossible...

Ook een redelijk nachtmerrie scenario voor een programmeur: concureren met zulke lui!
Is een probleem op 2 fronten. Of je bent gewoon je baan kwijt, of je moet je vanwege snelheids winst verlagen tot hun niveau. Ik ken veel goede jongens in het vak die gewoon staan voor kwaliteit van hun werk. Dan kan de manager op z'n kop gaan staan, maar de code wordt niet eerder vrij gegeven tot het goed is. Als je als programmeurs team dat onderling afspreekt gaat er geen (enorm) ranzige code de deur uit.
Maar ja, daar staat opeens die offerte van de mannen uit India, zelfde klus, helft van de tijd. Nou, denkt de manager, laat ik het eens proberen. En verrekt, die lui krijgen het nog gedaan ook in die tijd. Alles lijkt goed te werken totdat je de source eens doorneemt en ziet dat dat dus nooit lang gaat houden. Maarja, maak dat de manager maar wijs die -nu- resultaat wil en helemaal niet denkt aan de onderhoudbaarheid van de code op een termijn langer dan een 1 maand.

[ Voor 58% gewijzigd door Verwijderd op 28-10-2004 12:18 ]
Wederom: GEBRUIK SOURCE CONTROL, CODE BACKUPPEN DOE JE NIET MET DE HAND!Wacky schreef op 22 oktober 2004 @ 20:23:
Aan het eind van de week in plaats van je nieuwe code over de oude backuppen .. (je raadt het al) de nieuwe code overschrijven met de oude
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Verwijderd
En backup de repository ook regelmatig.oisyn schreef op 28 oktober 2004 @ 12:12:
[...]
Wederom: GEBRUIK SOURCE CONTROL, CODE BACKUPPEN DOE JE NIET MET DE HAND!
Hehe praten we over dezelfde Tan van hogeschool Heerlen ?haroldd schreef op 18 oktober 2004 @ 14:19:
[...]
Dit moet dhr Tan zijn!!! en dan hebben we het nog niet over zijn wel nederlands sprekende collega's die er evenveel soep van hebben gegeten
Is alweer 4 jaar geleden dat ik daar ben geweest, wel vriendelijke kerel, alleen zijn nederlands en docent vaardigheden zijn idd niet top.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
| '****************************************************************************** '*** DIT PROGRAMMA WORDT DOOR <Ru1x1i?> OPGEROEPEN ALS ER IETS GEPRINT OF '*** VERWERKT MOET WORDEN. '*** NA HET PRINTEN WORDEN DE PIF BESTANDEN BIJGEWERKT OF WEGGEGOOID. '*** IEDER RUND WAT GEFACTUREERD IS WORDT INDIVIDUEEL VASTGEHOUDEN. '****************************************************************************** '*** LINK MEE: 40000 / DATA / HULP / RUIX / ERROR '*** LIBRARY : ADVBAS20.EXE + BRUN20.EXE '****************************************************************************** INIT: rem $include: 'COMALG.V4' rem $include: 'NETW.INC' : ' ivm Netwerkversie (er wordt geLOCKed) 9 DIM ALG(30),PP(20),DA(30),VA$(40) DIM ACT(10),ACTIEF(10),ACTIEF$(10),DA$(3),M(12),VOLGT$(30),TS%(6),TG(6) DIM FBTW%(20),KTBD#(20),CKTBD#(6),BTWPERC(5),KT#(6),FTXT$(6),ATS%(6),ATG(6) DIM OBBD#(20),PLUS(5),PLUSBD#(5),MIN(5),MINBD#(5),OBP(20),GRBREK#(20),CUM(20) DIM MI%(10),AT(10),GW(10),TS(8): '@@ Ivm DefaultTellingen DIM T(18),A#(18),C#(18),PT(18),CP#(18): ' Opmerk Tellers (Zb Vaars etc) DIM L(10),B#(10),OPM$(18) : ' Klasse Tellers (A0,E4 etc) rem $include: 'DATABLOK.inc' TOTPRINT%=0: CTEUR=0: DTEUR=1: ' Verder verschil in Include 'VERWERK3. VER/INK MAXR=400 if CTEUR=1 then FAX= 8: TBASE%=100: IV$="I": if NETW=1 then TBASE%=1000: MAXR=MAXC if DTEUR=1 then FAX=23: TBASE%=500: IV$="V": if NETW=1 then TBASE%=5000: MAXR=MAXD EX1$=JAAR$+IV$ MODULE$="INVRU"+IV$+"X": if TOTPRINT%=1 then MODULE$="TOTRU"+IV$+"X" gosub PCODES: width lprint 200 PAD2$="\COMPRINT\RUNDER\": if RUND>0 then SOORT$="8." gosub MINAS: for T=1 to 10: MI%(T)=MI%: next T gosub LEESF: ' DA() ophalen TITEL$=" PRINTEN VAN FACTUREN ": TX%=40-int(len(TITEL$)/2) on timer(1) gosub KLOK: TIMER ON: TYD%=8 for TEL=1 to 22: read LIJST%(TEL): next TEL data 27, 73, 81, 71, 79, 72, 80, 75, 77 rem esc pup pdn hm end up dn le ri data 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 9, 32, 23 rem f1 f2 f3 f4 f5 f6 f7 f8 f9 f0 tab a-d a-i goto 15 10 EXEF$="STARTVHP": goto LEAVE run '**************************************************************************** 15 KR$=" FACTURERING RUNDEREN ]": K=len(KR$)+len(CBT$): KR$=KR$+string$(67-K,"Í")+"[ PAD: "+CBT$+" " FACT%=0: if NETW=1 then gosub CHECK color 7,0: ENPE=0: if VLAG=9 then ENPE=1: VLAG=0 HOOFDPROGRAMMA: 100 call titelscherm(KR$,TITEL$,TX%): call agrond(0,0,0,0,0): call klok DIR$=CBT$+PAD2$: FILS%=0: FLEN%=320: MODULE$="r100" '-- Niet LEEG dus DIRECTE FACTUUR -- if DIOP$<>"" then gosub GETDIOPS: VLAG=1: goto EIND '-- Zoek alle PIF's, zet ze in OPIF (mbv PIF i) -- close #5: call opslag(DIR$,FLEN%,FILS%,"") '-- Zoek op of Opslag of Direct of Niets -- call getfile(IETS%,FILS%): IETS%=0: if ESC=1 then goto EIND: ' Zoek Opslag of Directe print op. call agrond(32,0,0,0,0) gosub LEESF5 if FILS%=1 then FILS%=0: VLAG=1: gosub GETDIOPS if FILS%=2 then FILS%=0: VLAG=2: gosub OPSLAGPRINTEN: if ESC=1 then goto EIND if IETS%=0 then BEEP: call makewindow(17,15,62,17,"",2,3,15,1,0) call xqprint("GEEN SELECTEERBAAR BESTAND AANWEZIG ! <TOETS>",16,18,31%,0) if MISWAT%=1 then call helpregel("Ontbrekende gegevens: Importeer de opslag eerst.",0) call inkey(0,"","",0): call leegregel(0,0) end if EIND: 199 color 7: close: QQQ=fre(""): EXEF$="RVIMENU" if VLAG=1 then EXEF$="Ru1x1": if LG%=2 then VLAG=2 '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ LEAVE: ZOEKCODE$="": DIOP$="": call comalg(0,LEVDAT$): run EXEPAD$+EXEF$: run KLOK: call klok: return '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ FACTUURNUMMER: '** Netw=0 : Inkoop 5 Verkoop 4 '** Netw=1 : Inkoop 6 Verkoop 5 FACNUM$="": call bepfacnr(FACNUM$,FACNR$): FACNUM=val(FACNUM$) return '**************************************************************************** '********** DIRECTE PRINT UITVOEREN ********** '**************************************************************************** ' COPIE$ wordt FACNR$ indien reeds geprint zodat niet meer geCUMuleerd mag ' worden. Wanneer YY5$ = ! dan is deze factuur NU of EERDER al verwerkt. GETDIOPS: 2000 '-- Direct printen DIOP$ = gevuld met "PIFxxx" -- COPIE$="": PCOPIE=0: FID$="1 ": IETS%=1: NAME$=DIOP$+"."+JAAR$ gosub LEESF5: gosub FACTUURNUMMER: NR$=mid$(DIOP$,4,3) 2010 gosub PRINTEN: call agrond(32,0,0,0,0) if PP(19)>0 and PCOPIE < PP(19)-1 then PCOPIE=PCOPIE+1: IN$="P" else PCOPIE=0: call vnp(IN$,SND) end if if IN$="P" then COPIE$=FACNR$: goto 2010 call agrond(32,0,0,0,0) 2020 '-- Verwerken NEE -- AKKOORD=0 if IN$="N" then ' Beep : call akkoord(space$(15)+"Gegevens van deze factuur WEGGOOIEN ??",0,AKKOORD) ' if AKKOORD=0 then BEWAAR%=1: gosub ZETINOPIF ' call leegregel(0,0) call herstfax(FACNUM$) end if 2030 '-- Verwerken JA -- if IN$="V" then gosub VERWERKEN: AKKOORD=1 2040 '-- Afsluiten -- if AKKOORD=1 then gosub VERWIJDERPIF: AKKOORD=0 call agrond(32,0,0,0,0): FACNR$="": DIOP$="": PCOPIE=0: COPIE$="" 2049 MODULE$="r2049" return ZETINOPIF: 2060 '-- Bijwerken in Opif wanneer ( In$="N" + Bewaar%=1 ) -- OK=0 for T= 1 to INDEX5 get #5,T: lset ZZ5$="" if JN5$="*" and left$(DD5$,6)=DIOP$ then put #5,T: OK=1: T=INDEX5 next T 2065 '-- toevoegen in opif -- if OK=0 then get #5,INDEX5+1: lset JN5$="*": lset AA5$=LEVDAT$: rset BB5$=CRN$ rset AA5$=str$(TS): lset DD5$=NAME$: rset EE5$="": lset FF5$=SDATUM$ rset GG5$=FACNR$: lset XX5$="": lset YY5$="": lset ZZ5$="": put #5,INDEX5+1 end if return '**************************************************************************** '********** OPSLAG PRINTEN UITVOEREN ********** '**************************************************************************** ' Wanneer YY5$ = ! dan is deze opgeslagen factuur al verwerkt. ' COPIE$ wordt dan "-1" zodat de CUMulatieven niet vermeerderd worden met de ' gegevens van deze factuur (is reeds gebeurd). OPSLAGPRINTEN: 2100 '**** OPSLAG PRINTEN **** call akkoord(space$(20)+"Wilt U zeker de opslag printen??",0,AKKOORD) if AKKOORD=0 then ESC=1: return while INDEX5 > 0 and ESC=0 MODULE$="r2100" FID$="7 ": gosub LEESF5: '** opnieuw inlezen en lengte bepalen for XX=1 to INDEX5 get #5,XX: HDD$=DD5$: ZOEKEN%=1: COPIE$="": MISWAT%=1 ' --- Eerst de te VERWERKEN opslag printen --- if (ZZ5$="û" or ZZ5$="E") and YY5$="V" then IETS%=1: NAME$=HDD$: NR$=mid$(NAME$,4,3): SDATUM$=FF5$ gosub ZETFACNR: ' Facnr ophalen uit PIF.I of een nieuwe maken. 2103 gosub PRINTEN if PP(19)>0 and PCOPIE<PP(19)-1 then PCOPIE=PCOPIE+1: goto 2103 PCOPIE=0: get #5,XX: if ZZ5$="E" then AGRO=1 else AGRO=0 lset ZZ5$="P": H%=5: T=XX: gosub PUTREC gosub VERWERKEN: lset YY5$="!": H%=5: T=XX: gosub PUTREC ZOEKEN%=0: gosub ZETFACNR 2105 '*** dit ook in de PIF.I zetten, mag NOOIT meer verwerkt worden. call agrond(32,0,0,0,0) end if next XX MODULE$="r2110" 2110 for XX=1 to INDEX5 get #5,XX: HDD$=DD5$: ZOEKEN%=1: COPIE$="" ' --- De NIET VERWERKEN opslag printen --- if (ZZ5$="û" or ZZ5$="E") and (YY5$="N" or YY5$="!") then IETS%=1: PCOPIE=0: NAME$=HDD$: NR$=mid$(NAME$,4,3): SDATUM$=FF5$ if YY5$="N" then gosub FACTUURNUMMER else gosub ZETFACNR if YY5$="!" then COPIE$="-1": ' @ Cumulatieven reeds bijgewerkt 2115 gosub PRINTEN if PP(19)>0 and PCOPIE<PP(19)-1 then PCOPIE=PCOPIE+1: goto 2115 PCOPIE=0: get #5,XX: lset ZZ5$="P": H%=5: T=XX: gosub PUTREC call agrond(32,0,0,0,0): ZOEKEN%=0: gosub ZETFACNR if YY5$="N" then call herstfax(FACNUM$) '** ALLEEN DAN en niet anders !!!!! end if next XX 2120 '**** Nu kan alles wat net geprint is, nog een keer geprint worden '**** dus opnieuw een selectie maken en dan weer printen. FILS%=0: FLEN%=320: MODULE$="r2120" close #5: call opslag(DIR$,FLEN%,FILS%,"P") FILS%=3: IETS%=0: call getfile(IETS%,FILS%): if FILS%<>2 then ESC=1 gosub LEESF5: '** opnieuw inlezen en lengte bepalen wend 2130 MODULE$="r2130" close #5: FLEN%=320: call opslag(DIR$,FLEN%,FILS%,"") gosub LEESF5 '-- Let op: Nu wordt de VERWERKTE opslag (YY=!) vrijgemaakt (JN=X) -- '-- Waarom laten we de NIET VERWERKEN opslag nu staan ?? -- 2135 for XX=1 to INDEX5 get #5,XX: T=XX: H%=5 if JN5$="*" then NAME$=DD5$: if YY5$="!" then lset JN5$="X": gosub PUTREC: ALLEENKILLEN%=1: gosub VERWIJDERPIF end if end if ALLEENKILLEN%=0 next XX gosub OPIFX: '-- Opschonen OPIF bestand -- 2149 MODULE$="r2149" return '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ' Als ZOEKEN% = 1 dan FACNR$ ophalen uit PIFi, niet gevonden dan MAKEN. ' Als ZOEKEN% = 0 dan FACNR$ juist in PIFi wegschrijven. ZETFACNR: 2150 B$=NAME$: call crunch(B$," ",1) HEKJE%=6: call openf(DIR$+B$+"i",0,80) field #6, 1 as JN$, 8 as AA$, 4 as BB$, 4 as CC$, 6 as DD$, 9 as EE$,_ 1 as FF$, 5 as GG$, 5 as HH$, 4 as II$, 1 as JJ$, 1 as KK$,_ 8 as LL$, 6 as MM$, 2 as NN$, 6 as OO$, 1 as PP$, 8 as ZZ$ get #6,1 if ZOEKEN%=1 then FACNR$=MM$: if val(FACNR$)=0 then gosub FACTUURNUMMER lset JN$="*": rset MM$=FACNR$: lset JJ$=YY5$: lset KK$=ZZ5$ H%=6: T=1: gosub PUTREC: close #6 return '**************************************************************************** '********** PRINTEN VOORBEREIDEN ********** '**************************************************************************** ' Voorafgaand aan het daadwerkelijk printen de bijzondere factuurgegevens ' ophalen uit PIFi, PIFs, CREDIT.dat etc. PRINTEN: 2200 MODULE$="r2200" call PRINTEN(NR$,LG%,LEVDAT$,UP,BYB,REGEL,VERW$,SDATUM$,IKB$,SEUROP%,GWK%,_ CUMAAN%,CORRECTIE$,N$,AD$,PC$,WPL$,BIJZ$,LANDNAAM$,BTW$,_ AGRO$,AGRO,BG$,OBMELD$,UBNNR$,IKBNAAM$,PIF$,ALG()) if DTEUR=1 then AGRO=0: '@V 2210 MODULE$="r2210" HEKJE%=6: call openf(CBT$+"\DATAHOLD\DATAS.08",0,80) field #6, 1 as JN$,24 as AA$,1 as BB$,1 as CC$,1 as DD$,8 as EE$,7 as FF$,37 as ZZ$ for T= 1 to 6: get #6,T: BB(T)=0: GRBREK#(T)=0 if JN$="*" then BB(T)=val(BB$): GRBREK#(T)=val(EE$): 'Eenheid next T: close #6 2220 PIF$="P"+IV$+"F"+NR$: '@V HEKJE%=6: call openf(CBT$+PAD2$+PIF$+"."+JAAR$+"s",0,80) field #6, 1 as JN$,10 as AA$,30 as BB$, 1 as CC$, 1 as DD$,37 as EE$ UPBYB=0 for T=1 to 6 get #6,T: KT#(T)=0: FTXT$(T)="": FBTW%(T)=0: KTBD#(T)=0 if JN$="*" then KT#(T)=val(AA$): FTXT$(T)=BB$: FBTW%(T)=val(CC$) KTBD#(T)=KT#(T): ' @ Even VALS gezet ivm BTWLINES%. if BB(T)=1 and DD$="0" then UPBYB=UPBYB+KT#(T): 'Byb p Kg in PRYS end if next T for T=7 to 10: FBTW%(T)=0: KTBD#(T)=0: next T get #6, 7: IKBAT% =val(AA$): KOPTEKST$=BB$: TEKSTREGEL%=val(CC$) get #6, 8: IKBKGKT =val(AA$): SLACHTPLAATS$=BB$: IKGEX%=0: if DD$="1" then IKGEX%=1 get #6, 9: IKBSTKT =val(AA$): TXT$=BB$: ISTEX%=0: if DD$="1" then ISTEX%=1 get #6,10: STBEER =val(AA$): TXT$=TXT$+BB$: BTWUIT%=val(CC$) get #6,11: VOORSCHOT=val(AA$): TXT$=TXT$+BB$: BETAALCODE$=CC$ get #6,12: BIJEEN =val(AA$): if BIJEEN >0 then BIJEEN$ =BB$: FBTW%( 7)=val(CC$): NODIG%=NODIG%+1 get #6,13: BIJTWEE =val(AA$): if BIJTWEE>0 then BIJTWEE$=BB$: FBTW%( 8)=val(CC$): NODIG%=NODIG%+1 get #6,14: AFEEN =val(AA$): if AFEEN <0 then AFEEN$ =BB$: FBTW%( 9)=val(CC$): NODIG%=NODIG%+1 get #6,15: AFTWEE =val(AA$): if AFTWEE <0 then AFTWEE$ =BB$: FBTW%(10)=val(CC$): NODIG%=NODIG%+1 KTBD#(7)=BIJEEN: KTBD#(8)=BIJTWEE: KTBD#(9)=0-abs(AFEEN): KTBD#(10)=0-abs(AFTWEE): ' InclBtwBedrag BAF$=str$(FBTW%(7))+str$(FBTW%(8))+str$(FBTW%(9))+str$(FBTW%(10)) call crunch(BAF$," ",1) if IKGEX%=1 and IKBAT%*IKBKGKT>0 then NODIG%=NODIG%+1 if ISTEX%=1 and IKBAT%*IKBSTKT>0 then NODIG%=NODIG%+1 if TEKSTREGEL%>0 then TREGELS%=TREGELS%+1 if TXT$<>space$(90) then TREGELS%=TREGELS%+1 B$=BETAALCODE$: BETCODE$="" if B$="B" then BETCODE$="Per Bank" else if B$="K" then BETCODE$="Per Kas" if B$="C" then BETCODE$="Cheque" else if B$="G" then BETCODE$="Per Giro" close #6 BTWLINES%=0: ' @ BtwLines ivm Nodig if ALG(2)=0 or BTWUIT%=1 then goto INITINK ' @ Bepaal welke Btw percentages (+ en -) er in gebruik zijn. ' @ Ktbd#() is VALS = KT#(). Moet zijn: KT#() * (Kg)(St)(Vr) ' @ Plus() + Min() is VALS: 1 = Aan / 0 = Uit. Moet zijn: BtwBedrag KTBD#(0)=1: FBTW%(0)=1: '- de runderen zelf ook in de BTW - for T= 0 to 10 for Y= 0 to 5: if FBTW%(T)=Y then if KTBD#(T)>0 then PLUS(Y)=1 else if KTBD#(T)<0 then MIN(Y)=1 end if next Y next T Y=0 for T= 0 to 5 if val(BTW$)=1 then if PLUS(T)=1 then BTWLINES%=BTWLINES%+1: Y=1 if MIN(T) =1 then BTWLINES%=BTWLINES%+1: Y=1 end if PLUS(T)=0: MIN(T)=0: PLUSBD#(T)=0: MINBD#(T)=0: KTBD#(T+1)=0 next T KTBD#(0)=0: if val(CORRECTIE$)>0 and Y=1 then BTWLINES%=BTWLINES%+1 MODULE$="initink" <knip> .... .... en dat gaat zo nog wel even door... |

Mijn dagelijkse Nachtmerrie; ouwe QuickBasic shit
Dit is dus een Nachtmerrie met hoofdletter N
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij
Sole survivor of the Chicxulub asteroid impact.
Het complete programma bestaat uit 150+ .bas bestanden, allemaal van 30 tot 150 kb groot... Totaal iets van dik 200.000/300.000 regels...
Het exemplaar dat ik nu liet zien is nog maar de helft van dat bestand. En deze is nog "rijkelijk" voorzien van commentaar
[ Voor 8% gewijzigd door RobIII op 28-10-2004 12:39 ]
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij
Voor een formulierverwerkingssysteempje ja, uiteindelijk had mijn versie veel meer functies en was het veel sneller, stabieler en betrouwbaarder.
Ok, ik heb niets gezegd...Het complete programma bestaat uit 150+ .bas bestanden, allemaal van 30 tot 150 kb groot... Totaal iets van dik 200.000/300.000 regels...
Het exemplaat dat ik nu liet zien is nog maar de helft van dat bestand. En deze is nog "rijkelijk" voorzien van commentaar
[ Voor 23% gewijzigd door AtleX op 28-10-2004 12:41 ]
Sole survivor of the Chicxulub asteroid impact.
Nou ja, ik wil niet opscheppen ofzoAtleX schreef op 28 oktober 2004 @ 12:39:
[...]
Voor een formulierverwerkingssysteempje ja, uiteindelijk had mijn versie veel meer functies en was het veel sneller, stabieler en betrouwbaarder.
[...]
Ok, ik heb niets gezegd...
't is ook niet iets waar je trots op mag zijn ofzo... 't is alleen dat die verrekte dinosaurussen hier ook nog lijken te begrijpen wat er gebeurt... Ze kennen zelfs een flinke portie "uit hun hoofd"...
Voorbeeldje: Ik zit te zoeken naar een berekening in de source. Heb al 30 bestanden geopend, maar kan nergens vinden waar 't ding nou zit. Ik loop naar zo'n dino toe, vraag waar 't dan wel zit, en dan krijg ik een waslijst met 20 bestanden waar "delen" van de berekening zitten en op welke regelnummers(!)

Echt, als dit geen nachtmerrie meer is weet ik het ook niet meer... Hier worstel ik al 3 jaar mee
[ Voor 11% gewijzigd door RobIII op 28-10-2004 12:46 ]
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij
[ Voor 18% gewijzigd door AtleX op 28-10-2004 12:46 ]
Sole survivor of the Chicxulub asteroid impact.
En over het uitsterven van dino's... en dat de mens toen veel gelukkiger werd
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij
Verwijderd
En dan hebben we meteen nog een nachtmerrie te pakken (een outsider die dit topic leest wil nooit meer programmeur wordenRobIII schreef op 28 oktober 2004 @ 12:47:
[...]
En over het uitsterven van dino's... en dat de mens toen veel gelukkiger werd
Zelf verstokt raken en een dino worden
Ik ben zelf ook al van de iets 'oudere' generatie (28, bijna 29) en ben nu nog wel met de state of the art tech bezig, maar toch wel een beetje huiverig over de toekomst. Nu zeg ik dat ik natuurlijk altijd mee zal blijven gaan, maar ik ken zat "dino's" uit het pascal en c tijdperk (dwz, toen die talen spliksplinter nieuw waren) die zo verstokt erin zijn geraakt dat ze absoluut niet meer aan nieuwere talen willen beginnen. Sterker nog, zelfs kwaad worden op de 'jonkies' dat die liever in C++, Java, of C# willen programmeren (stuk voor stuk toch alle 3 respectabele talen).
Ik kan me zo indenken dat toen deze dino's jong waren ze ook gewoon op de hoogte van de nieuwste tech wilden blijven en ook zeiden dat ze altijd de trends zouden blijven volgen, net zoals ik nu zeg.
Het is hun overduidelijk niet gelukt om uit de 'verstoktheids-val' te blijven. Waarom zou het mij dan over 10, 15 jaar wel lukken?
https://fgheysels.github.io/
Verwijderd
baas: Hey, kun jij eventjes een klein scriptje maken wat dat en dat doet?
ik: ok
ik, half uur later: klaar.
baas, een tijdje later: hey, dat scriptje van jou, dat doet het niet meer...
ik: huh? *kijkt*
ik half uur later: werkt weer, maar nou niet meer het formaat van het invoer bestand veranderen he...
baas, weer een tijdje later: hey, dat scriptje van jou he, moet ook nog even rekening houden met dat en dat.
ik: uh... ok, nou vooruit dan...
ik uurtje later: werkt weer...
baas, weer een tijdje later: Kun je je scriptje weer even aanpassen zodat het ook nog even dat en dat doet?
ik: ja hoor, maar het lijkt me verstandig om dat script toch eens opnieuw te schrijven, want zo wordt het niet echt meer leesbaar.
baas: nee, dat hoeft niet. Dit is toch maar een tijdelijke* oplossing.
ik: *zucht*, ok.
ik, 2 uur later: het werkt weer...
en zo gaat het nog een tijdje door. Tegenwoordig kijk ik wel beter uit...
* tijdelijk is hier in het bedrijf een erg ruim begrip.
Verwijderd
Nouja, de standaard gedachte is natuurlijk dat je op een gegeven moment inderdaad niet meer programmeerd maar helemaal 'omhoog klimt' naar leiding geven, architectuur en design.whoami schreef op 28 oktober 2004 @ 13:12:
Ik denk niet dat ik over 10, 15 jaar nog programmeer.
Als drs. zou dat eigenlijk mijn aanvangs niveau moeten zijn, maar ik vind toch het programmeren en hacken en het echt met de techniek, api's, styles, etc bezig zijn ook heel leuk. Ik zie mezelf dan over die tijd waarschijnlijk nog wel programmeren (naast andere taken).
Of bedoelje je het meer dat je de IT branche helemaal de rug toekeerd vanwege de lage lonen en de mannen uit india?
Ikke wel... Zou niet weten wat ik anders zou willen doen...whoami schreef op 28 oktober 2004 @ 13:12:
Ik denk niet dat ik over 10, 15 jaar nog programmeer.
Schoenen verkopen misschien... Minder sores en je klanten bedenken zich geen 150 keer tijdens de ontwikkeling van je pakket
Ik zie het iig totaal niet zitten om nog verder te klimmen. Dan zit je al gauw op projectmanagement en andere saaie taken. Laat mij maar lekker een CPU-tje pestenVerwijderd schreef op 28 oktober 2004 @ 13:28:
[...]
Nouja, de standaard gedachte is natuurlijk dat je op een gegeven moment inderdaad niet meer programmeerd maar helemaal 'omhoog klimt' naar leiding geven, architectuur en design.
Als drs. zou dat eigenlijk mijn aanvangs niveau moeten zijn, maar ik vind toch het programmeren en hacken en het echt met de techniek, api's, styles, etc bezig zijn ook heel leuk. Ik zie mezelf dan over die tijd waarschijnlijk nog wel programmeren (naast andere taken).
Of bedoelje je het meer dat je de IT branche helemaal de rug toekeerd vanwege de lage lonen en de mannen uit india?
[ Voor 55% gewijzigd door RobIII op 28-10-2004 13:40 ]
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij
Och, dat weet ik nog niet. Design en architectuur interesseren me wel erg, en daar ben ik nu ook een beetje mee bezig, maar wat ik over 10 - 15 jaar doe? I don't know, misschien idd iets heel anders, iets dat niets met IT te maken heeft. Who knows.Verwijderd schreef op 28 oktober 2004 @ 13:28:
[...]
Of bedoelje je het meer dat je de IT branche helemaal de rug toekeerd vanwege de lage lonen en de mannen uit india?
Projectleiding is iets wat me niet trekt.
[ Voor 6% gewijzigd door whoami op 28-10-2004 13:52 ]
https://fgheysels.github.io/
Verwijderd
Kom kom, C++ est de 1986 en SmallTalk (sedert 1979) zal ze ook wel ontgaan zijn. Zelfs Java is al 10 jaar oud (waar is de smile met grijze baard). Verstokken op deze manier vind ik meer een levensstijl: programmeren in 2GL. Ik denk dat dit bij de jonkies al aanwezig is. Menig aanstormend programmeur hanteert C++ als ware het COBOL. Stop een paar van deze gasten een jaartje bij elkaar en TADA: Versche dino's !Verwijderd schreef op 28 oktober 2004 @ 13:09:
[...]
Sterker nog, zelfs kwaad worden op de 'jonkies' dat die liever in C++, Java, of C# willen programmeren (stuk voor stuk toch alle 3 respectabele talen).
(...)
Het is hun overduidelijk niet gelukt om uit de 'verstoktheids-val' te blijven. Waarom zou het mij dan over 10, 15 jaar wel lukken?
@Ghost: Zo maak je dus dino's, he ?
https://fgheysels.github.io/
Verwijderd
Het gaat hier dan explictiet om het vast houden aan technology die echt verouderd is. Er zijn namelijk ook zaken van 20 jaar, 30 jaar en nog ouder, die zelfs nu nog actueel zijn. Laat daar heen vergissing over bestaan.
Ook kunnen sommige technieken of talen nog steeds gebruikt worden voor speciale situaties (assembler voor device drivers, C voor embedded of kernel werk, etc), maar moet je niet meer als in 'solution for all problems' zien, zoals dino's dat (noodgedwongen) moeten doen.
Maar wie weet wat voor radikaal nieuwe technology er over een aantal jaren komt die ik met mijn procedurele en OO achtergrond met geen mogelijkeid meer kan of wil oppakken. Ik zal dan zelf ook een dino worden...
Verwijderd
Ik zat te denken aan programmeurs. 1GL, 2GL, 3GL en 4GL liggen in elkaars verlengde. Hoe hoger het getal, hoe meer voorontwerp. Als software voortdurend "direct nu klaar" gebouwd moet worden, is benutten van 3GL vaak niet aan de orde. Wel kan de bijhorende programmeur bedreven worden in procedureel programmeren. Op zich OK, de code kan namelijk best OK zijn, maar het is geen blits ontwerpje. Omdat 2GL aardig werkt om de grillen van het bedrijf te pareren is er wel het risico een 2GL zelf een dino te worden.whoami schreef op 28 oktober 2004 @ 14:20:
bloog: Ik denk dat jij met 'dino's' doelt op slecht geschreven, ononderhoudbare software en ik denk dat RobIII het heeft over programmeurs als hij het over 'dino's' heeft.
Misschien zouden toekomstige problemen voorkomen kunnen worden met eens nadenken over de materie en een nieuwerwets ontwerpje neer te zetten, maar er is nooit tijd (geld) voor. Geen OO kennis of ervaring hebben bemoeilijkt de zaak alleen maar meer.
Daar geloof ik niet, iig niet in in de branche waar ik in zit; er is geen grote hoop random indiërs die kunnen doen wat ik ook kan. Sterker nog, in feite zijn wij (het bedrijf waar ik werk) het equivalent van die indiërs, mensen komen naar ons als ze iets willen outsourcenVerwijderd schreef op 28 oktober 2004 @ 13:28:
Of bedoelje je het meer dat je de IT branche helemaal de rug toekeerd vanwege de lage lonen en de mannen uit india?
En ook ik zie mezelf over 10 jaar nog wel programmeren, hoewel misschien op een wat abstracter niveau. Misschien ben ik meer met de algoritmes zelf bezig, maar ik zal ze ongetwijfeld nog omzetten naar code.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
EuhVerwijderd schreef op 28 oktober 2004 @ 15:04:
[...]
Ik zat te denken aan programmeurs. 1GL, 2GL, 3GL en 4GL liggen in elkaars verlengde. Hoe hoger het getal, hoe meer voorontwerp. Als software voortdurend "direct nu klaar" gebouwd moet worden, is benutten van 3GL vaak niet aan de orde. Wel kan de bijhorende programmeur bedreven worden in procedureel programmeren. Op zich OK, de code kan namelijk best OK zijn, maar het is geen blits ontwerpje. Omdat 2GL aardig werkt om de grillen van het bedrijf te pareren is er wel het risico een 2GL zelf een dino te worden.
2 GL is assembler, je bedoelt waarschijnlijk 3GL, wat talen zijn als C, C++, Java, php, etc. En dan nog, bijna iedereen programmeert in 3GL, er zijn maar weinig hogere GL's die ook echt gebruikt worden om volledige applicaties in te ontwikkelen.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Verwijderd
Voor echt specialistische zaken (en daar reken ik 3D shooter games ook nog toe, ook al bestaan er al 1000-en van, er zijn geen 1000-en engines) mischien wel, maar voor veel business-type software ligt het mischien wel anders..oisyn schreef op 28 oktober 2004 @ 16:54:
[...]
Daar geloof ik niet, iig niet in in de branche waar ik in zit; er is geen grote hoop random indiërs die kunnen doen wat ik ook kan.
En ook al kunnen ze (de mannen uit india) niet helemaal wat wij kunnen, als de managers van hier daar anders over denken hebben jij en ik toch een probleem. Bij mijn bedrijf zitten ze ook al continu naar india te kijken en zijn er al een paar test projecten gedaan. De mensen hier worden gesust met de woorden dat ze alleen het vervelende gedeelte van het implementatie werk daar heen gaan sturen zodat wij interesantere dingen kunnen gaan doen. Ze zeggen dat echter met een net iets te gemene blik in hun ogen, zodat ik dat toch niet helemaal geloof. En ja, natuurlijk is een 'gemene blik in iemand's ogen zien' zo subjectief als het maar kan. Dat weet ik ook wel, maar ik ben er gewoon niet helemaal gerust op.
Klinkt goed, maar is het een Nederlands bedrijf (in Nederland) waar jij werkt?Sterker nog, in feite zijn wij (het bedrijf waar ik werk) het equivalent van die indiërs, mensen komen naar ons als ze iets willen outsourcen
Helemaal mee eens. Ook denk ik dat het in grote formele companies een stuk erger is dan die informele bedrijfjes waar slechts 10 man werken oid. Vooral bij die laatste zal niet veel outsourced worden (tenzij er echt deadline problemen zijn), mede ook omdat de werknemers veel dichter bij de managers staan, als die er al zijn. Maar er is natuurlijk ook minder geld mee gemoeid. In een formeel bedrijf pas ik als persoon simpelweg gewoon niet, ik zou er gewoon niet kunnen functioneren. Wat dat betreft ben ik ook wat minder bang dat ik geoutsourced ga worden (even afgezien van het feit dat het in mijn geval sowieso niet snel gaat gebeuren), en ik zie de toekomst van de kleine bedrijven in principe ook niet echt somber in in de zin van dat het misschien allemaal opgekocht gaat worden door het grote apparaat, want dat zie ik niet snel gebeuren.Verwijderd schreef op 28 oktober 2004 @ 17:46:
Voor echt specialistische zaken (en daar reken ik 3D shooter games ook nog toe, ook al bestaan er al 1000-en van, er zijn geen 1000-en engines) mischien wel, maar voor veel business-type software ligt het mischien wel anders.
Check m'n profileKlinkt goed, maar is het een Nederlands bedrijf (in Nederland) waar jij werkt?
De core-business van Nixxes is/was het porten van games naar andere platforms, en dat betekent natuurlijk niet alleen een simpele recompile
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Verwijderd
Inderdaad. M'n GL array begon op 0.oisyn schreef op 28 oktober 2004 @ 17:09:
[...]
Euh
2 GL is assembler, je bedoelt waarschijnlijk 3GL, wat talen zijn als C, C++, Java, php, etc. En dan nog, bijna iedereen programmeert in 3GL, er zijn maar weinig hogere GL's die ook echt gebruikt worden om volledige applicaties in te ontwikkelen.