There is some guy at Google HQ jerking himself off as he watches his Pure Minimalist Design. He has rockstar status and people look at him with envy as he gets on the GoogleBus every morning. I hope this gives you solace.
Ronald
@Ronald
Best posts made by Ronald
-
RE: Goddamit, Gmail
-
RE: I must be new here, but...
@morbiuswilters said:
This isn't the LOLcat forum.
-
RE: Goddamit, Gmail
@Weng said:
At work, we are a flagship Google Apps For Enterprise customer. This means we're fucking stuck with gmail and all our bosses have huge boners for Google Docs (Think 'Oh lets try to do all our project management in Excel' is bad? Try 'Oh, lets try to do all our project management in a collaboratively edited Google Spreadsheet'!)
But you can see what the other people are typing in the same document at the same time! This is an essential feature in any company! Now if they could roll out the same thing for developers; it would be very pleasant to code in a browser and see conflicts as they happen. Got to be careful where the focus is when you hit backspace and make sure no link is opened in the coding tab, but those are minor inconvenience and I'm sure there is a Firefox add-on for that.
-
RE: Goddamit, Gmail
@Lorne Kates said:
Hey, look! GMail is looking to complicate email even further.
Some asshole doesn't know how to type in their own goddamn email address, so I get their email about once a week. It's usually innane bullshit. Now I'm getting their airline tickets. I was just going to delete it like normal, when I noticed-- hey, look! GMail is doing stupid bullshit to overcompliate the inbox again:
(click to maxulate)
I can almost see putting context-sensitive helper buttons in the menu bar inside the mail itself, but overlaying shit in the Inbox itself is just begging for problems.
Of course, they can't put context-senstive helper buttons in the menu bar inside the mail itself because the fucking removed all the menu bars blah blah blah whatever
How come you get free airplane tickets from the Gmail typo lottery and all I get is photos of ugly kids?
I've been getting those for months now and I still don't know their names because there is no text in the email, just photos. I'm worried a little about the one I call "Little Timmy" because lately he looks pale.
-
RE: Protecting the truly important stuff
@drurowin said:
I've heard from my supervisor that the CEO got the idea one day when he was looking at how much the cleaning service cost per month. "Well, if they're the ones shitting on the wall, let them pay for the cleaners!" It's a good idea on paper, but not in reality.
The CEO of a company I know had the microwaves removed from the employees cafeteria because "he did not pay for a $250,000 full staff cafeteria to have cheapskate bring $0.99 tv dinners for lunch". He also refused to have picnic tables installed in the yard because "if they get that the employees will ask for something else and it never ends".
-
RE: Protecting the truly important stuff
@eViLegion said:
I really want you to get another job, so we get to hear about all of the vengeful sabotage you wreck on your current employer.
As a reminder to everyone, here is the official todo for people leaving an organization in bad standing.
- Configure as many services as possible to run under your account, so when they disable it all hell breaks loose
- Put your speakers on 10 and create a scheduled task on your workstation to play MyHeartWillGoOn.mp3 once you are gone (also acceptable: any part of the Cannibal Corpse or DOA NYC opus - I recommend the very pleasant Total Annihilation)
- Put a reboot batch file in the Windows startup folder (surprisingly nasty to debug when you don't know). If you don't use Windows it's less funny.
- Hide meat in the office. Some people praise sushi for that, but in my experience there is nothing like rotten chicken.
- Shit in the toilet tank
The trick is not to cause data damage or change admin passwords (or replacing windshield washer with brake fluid), as those have a long history of backlashing. Stick to unpleasant effects that would have been avoided if the organization had good IT or workplace processes.
-
RE: Protecting the truly important stuff
@snoofle said:
I went to visit a friend at his office during lunch today. While there, I asked for the key to the men's room. I was told that while the key was turned, I also had to enter a four digit code on the pad to gain entry. Ooooookaaayyyy....
As I went to insert the key, I noticed the women's room had the same key+combo setup. Right between the doors was another door. It was ajar. I peeked inside. It was the telco closet with all the ethernet cables and routers for the entire floor. It wasn't just left unlocked; there wasn't even a lock on the door.
Just sayin...
I'd bet a dollar that the door was left open to improve air flow in the closet.
-
RE: Protecting the truly important stuff
@ender said:
@dhromed said:
I work at such a place. You can't leave until you beep out. It's braindead.
How does that work with the fire safety? There was a similar idea at the place I work (you'd either have to use your card to open the door, or have the receptionist do it for you) years ago, but they decided against it due to fire safety rules.Being locked is unpleasant. I got stuck once in a sally port. It was late, I was alone in the office but some people were working in the warehouse and some moron ran a forklift straight on a sprinkler head. All kinds of alarms went on, and I was able to get into the first door of the sally port but when I tried to get to the other one it was locked and I had no way to go back inside. I was stuck in a 6x6 chamber with grade-6 bullet proof glass for about 45 minutes. Good thing that the chamber was rigged with volumetric motion sensors and that one of the fuckers in the security office decided to take his face out of his donut box to check why the buzzer was ringing loudly.
It's been a while and to this day I sometime get the shivers when the elevator doors are slow to open.
-
RE: No, plants don't do math(s).
@da Doctah said:
@morbiuswilters said:
I always feel sad for the French, with their weird prescriptivist tendencies which try to keep foreign words from polluting their "pure" language. (French is about as pure as the thoughts of a crowd of Catholic priests at Vatican-sponsored Altar Boy Oil Wrestling Night. Their term for potato is literally "apple of the Earth". It's like a language invented by paste-eating Kindergartners..)
...with head trauma.Why on earth is the standard name for "ninety-eight" pronounced as "four twenty ten eight"? I shudder to think what they would have done with my late mother's phone number 890-9089, which in plain simple English is "eight ninety ninety eighty nine".
Try this in German... When they speak the numbers are reversed, they start with the unit; they don't say "twenty-five" they say "five and twenty". So your mom's number would be "eight ninety ninety nine and eighty".
-
RE: Protecting the truly important stuff
@Ben L. said:
@morbiuswilters said:
@drurowin said:
I didn't post this before because I didn't think anyone CARED how fucked up the toilets were at someone's office.
Now I know you're lying. Everyone loves a good toilet story. (Well, except chicks..)
Pretty sure both the literal and the intended meaning of the part in parentheses is wrong.
Read it again, he said "chicks" not "cats", so that's not your area of expertise.
Latest posts made by Ronald
-
We don't use web services, we use iframes
One of my clients does a lot of shipping. Usually they have tens of thousands of parcels in transit. Here is how they keep track of those parcels:
- People who ship stuff from various warehouses throw packing slips in a box
- Every hour or so, a clerk faxes the packing slips to a third party system that stores them in PDF format in a S3 bucket on Amazon (1 fax number and 1 bucket per shipper)
- A WebJob on Azure runs every 10 minutes to download the pending PDFs, extract the tracking code and store it in a SQL Azure database
- A Visual FoxPro application (installed on a server with a console session active 24x7) executes a SSIS package to move the tracking codes from SQL Azure to a local CSV
- In a continuous loop, a second Visual FoxPro application (running on the same server, different GUI) uses WebBrowser controls to access the website of the shipper, submit the tracking code and parse the HTML to get the status. If the package has arrived, the tracking code is removed from the CSV, and the next SSIS package execution flags the record in SQL Azure
The last step is done for all the tens of thousands of tracking codes, all day long. The Visual FoxPro application was a piece of shit when it was first created years ago and it did not age well. It is riddled with clever hacks to deal with javascript errors and other exceptions, and has a weird quasi-multithreaded design thanks to the 10 or 12 WebBrowser controls that work in parallel. The shipping companies complained because of the heavy web traffic but nothing was done to fix it, so they started to throttle the client's IP. Solution from the client? A kludgy round-robin utility that changes the routing table on the server every few minutes to switch between 3 NIC that are connected to different ISP... Apparently this was not a silver bullet because one of the programmers sent me an email a few weeks ago asking about Tor clients.
So I was not surprised when the client contacted me to discuss the possibility of replacing the Visual FoxPro solution with a web application. At first I was under the impression that they were finally going to use the pretty robust web services provided by the shipping companies. But no. Their shiny new web application is trying to access the tracking websites client-side by using a mix of jQuery, iframes and setInterval... And strangely, in spite of unit tests passing with flying colors, the solution does not work in production, with various obvious problems (cross-origin, javascript framekillers, etc).
The client did not call me in to tell them that their solution is a WTF. They called me to find a way to make this work. So I spent an hour with their "star programmer" and showed him how to use a reverse proxy. From the look of wonder in his eyes as he discovered the endless possibilities of ISAPI I know I opened a Pandora's box. I can't wait to see what kind of abomination I will discover at my next visit there.
-
51Degrees
Been away for a while but I had to post this thing.
51Degrees.mobi provides a mobile detection library.
Minor WTFs:
- the semi-OO library works by auto-executing functions loaded in nested, dynamically included files
- Some of the functions use reference arguments and also return stuff, but not all the time
- some includes are done with include(), not include_once(), which makes the previous two items in this list even more optimal
- the library uses session variables directly
- The PHP SDK is not Composer friendly and has its own autoloader approach
The core of the product is the data file, which contains interesting information for each device such as screen width, mobile or not, svg or not, etc. There is a free data file but monthly updates require a membership ($360/year). This is what the data file content looks like:
12496 IsMobile|0|True ScreenPixelsHeight|0|800 ScreenPixelsWidth|0|400
18092
3508
AnimationTiming|0|False
BlobBuilder|0|False
Canvas|0|True
CssBackground|0|True
Prompts|0|True
Selector|0|True
Svg|0|False
TouchEvents|0|False
WebWorkers|0|False
Xhr2|0|False5096
3441
AnimationTiming|0|False
BlobBuilder|0|True
Canvas|0|True
CssCanvas|0|False[total about 100k lines]
The numerical identifiers ARE NOT lookup keys. They are actually part of the data. From what I understand in the code, here is how the data is loaded:
- A basic regex is performed on various parts of the user agent string; this returns a "handler" ID*
- A php file matching the handler ID is included dynamically (there are about 130 of those)
- The code in the handler file is executed and returns an array that contains a bunch of numbers.
- The numbers in the array are offsets passed to fseek to locate the desired chunk of data in the data file
- The result is pushed in the session but also in a local array that is expected to be used in the parent scope after including the library
*In addition to the regex, the matcher calculates the levenshtein distance of some pieces of the sub-elements in the user agent string, but I could not say if this is a WTF as I have no idea why they do this. The /*TODO*/ comments above each function unfortunately does not help to understand this.
I have no idea how someone came up with this design, but this is quite interesting to debug.
-
RE: Even Yahoo doesn't like Yahoo mail
@notchulance said:
EVERY EMPLOYEE LEAVES YAHOO
No, because HP ain't hiring. They really missed the boat on getting bought by MS.
... and there is already a lot of ex-Blackberry employees on the market. By the way it's a good time for people who want to get into Canadian real estate. I heard there are quite a few nice houses available from motivated sellers in the Waterloon (Ontario) area.
-
RE: Blakeyrant on another site - indie game To The Moon
@Ben L. said:
They would have to find another game engine that can be used by non-programmers, and I'm pretty sure there aren't any good ones.
Excel
-
RE: Code snippet of the week
@veggen said:
Ooops, looked like PHP. And, yeah, I now see the similarity to Java, but it's really not the same thing. Btw, I'm sure at least one of you guys works for that mega-huge hotel finding site (the biggest Perl shop I know of).
IMDB, Slashdot and Craigslist also run on Perl. All sites full of crazy people, I don't know if it's a side effect of perl.
-
RE: PARADE!
@joe.edwards said:
OK the million doors have been brought up before but have not been explained correctly. Say there are a million doors; behind one is a car, behind each other is a goat. You pick a door. The host reveals 999,998 goats, leaving just two doors: your first guess and the (almost certainly) correct door. You (intuitively) had a one in a million shot at getting it right from the start; that fact has not changed. Therefore with overwhelming odds you should switch.
Then what happens if there are TWO million doors?
-
RE: Dis-tract-ed
@mott555 said:
At my last job we dealt with mapping data. One client provided us with their data and they had never heard of domain constraints. There was a manhole table with a column for location, which is typically a domain-coded value with 10 - 20 possible selections. They had it set up as a straight text field and as you can imagine there were so many variations of each possibility. I'm pulling this from memory (actually my rectum) but I remember DISTINCTing the data and seeing something like this.
- Middle of street
- Street
- street
- STREET
- The street
- THE STREET
- THE STREET
- street
- Alley
- Aley
- alley
- Sidewalk
- Side Walk
- side walk
- sidewalk
- The sidewalk
- Teh sidewalk
- Tree
IIRC there was approximately 900 distinct values. One of the bosses put the data into a pie chart and used it in his presentations on the importance of well-structured data. As you can imagine it was a useless pie chart and almost brought the Almighty Excel to its knees trying to render it. (We never did figure out how a manhole could be in a tree.)
A few years ago I was working for a big telco and they were rolling out a new product on their website: ringtones. There was a specific team in charge of the search engine for the ringtone catalog and every single person in that team was dishevelled and neurotic. One day I was riding the elevator with one of them and he was mumbling something. I asked him to repeat, he looked at me with crazy eyes that I will never forget and said: "you have no idea how some people spell 'Justin Timberlake'" and he kept shaking his head silently until he left the elevator.
-
RE: Big Data vs Stupid People
@TGV said:
@Shoreline said:
Don't tell me, no actual developers were asked (or listened to) regarding this.
Make that: no people with common sense or any ethics or knowledge of recent financial history. Holy mother of God, what a cluster fuck.They have a strong relationship with a big consulting firm. The lead architect in the organization is a guy from that consulting firm and he has a huge resume (basically all the big names on Wall Street going back 20 years). During the meeting he was there and they asked him: can this be done? He replied: "of course it *could* be done, but we would need to bring in a few more heavy hitters and right now I'm afraid there is no one on the bench with that specific skill set at my firm, we would have to steal them from a minor account which is not something we typically do. Unless your HR group has decent guys in their database?". Of course the decision was made to pressure the consulting firm in getting them those "heavy hitters" because everyone knows that local talent sucks.
Later I went for a coffee with him and asked him what was his plan and who were the heavy hitters. He laughed and said: "head office will just fly 4-5 warm bodies in shiny suits, they'll sit in the war room for a few weeks and study up for a certification or something until this shit is cancelled; worst case scenario another emergency will pop up and we'll have to reassign them. I'm taking care of the Powerpoint this weekend".
It's nothing new with this client and this firm. Last year they had an emergency, they wanted people to see new tickers in real time in Sharepoint ("to monitor IPOs opportunities") so they brought in a Dream Team to handle that. It took them 3 months but it's hard to tell if the solution works because the market data provider does not update its master data feed during the day, it's all imported during nightly ETL batches. Answer from the technical PMO? "We'll be ready when they get there".