Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "where the designers be"
-
I work in a company where I'm the only developer, with everyone being designers or marketing or sales. Typically like the scene from Silicon Valley.
Moto was to create a ticket selling website for their products, and make sure they worked as well. It was all fine, until deadlines were discussed. They wanted it done within 2 weeks, the entire backend dashboard, API and front end.
I told them it's almost impossible to do it, but they insisted on it. So, I made a minimal dashboard and told them, I haven't completed a few things, such as if you edit data in one place, it won't reflect in other tables. So, be careful while editing the data.
They nodded their head for everything, yesterday was site launch and 2 hours before that one bastard decided to changed the product names to something "catchy" but failed to change the same in other places.
I had used the name as foreign key, so querying other DBs became a fuck all issue, and eventually API stopped giving any response to front end calls.
I got extremely pissed, and shouted at that dude, for fucking everything up. He said, you're the tech guy and you should've taken all this into account.
I sat and hardcoded all the data into database again, made sure site is live. Once it was live, these guys call a company meeting and fire me saying I was incompetent in handling the stressful situation.
At that moment, I lost my shit and blasted each of those people. The designer started crying since her absurd designs(though great) couldn't be realised in CSS that too within 2 weeks time.
One of the worst experience for working for a company. I could've taken the website down, and told them to buzz off if they'd called, I couldn't get myself to do it, hence ranting here.
I seriously feel, all these tech noob HRs need to get a primer course on how to deal with problems of a programmer before they get to hire one, most of these guys don't know what we're trying to tell in itself.
I find devRant to be the only place where I can get someone to understand the issues that I face, hence ranted.
TL;DR: Coded ticket selling site in 2 weeks. 3 hours to launch, data entry dude fucks up. I clean all the mess, get the site online. Get fired as soon as that happens.
Live long and prosper. Peace.16 -
!dev but fuck it.
I'd like to talk to the interior designers of the new dutch NS sprinter trains.
Who in the flying FUCK puts the SOS button right where you'd rest your shoulder at the STANDING SEATS?!?
SERIOUSLY HOW FUCKING RETARDED CAN YOU BE? YES I ACCIDENTALLY LEANED AGAINST ONE TODAY.
What the actual fuck.22 -
In electronics there's 3 options.
1. You pay a small fortune to get something decent.
2. You pay a smaller fortune to get crap.
3. You build it yourself and it'll be nicely priced AND decent.
Why is that? I have no idea. Profiteering gluttons perhaps.
Case in point: my watch. A waterproof one, so you'd expect to be able to take it in the shower, which I often did.
But then, le wild drop from 50cm height occurred and the whole thing just popped open, with soapy water rushing in. Luckily it didn't short out, and I quickly evacuated it out of the shower and dipped it with my towel.
Then already I thought.. what the fuck is wrong with the designers of this thing?! I'm all for keeping the inner parts of electronics accessible for self-servicing. But in a waterproof watch you wouldn't expect the backside to pop right off and expose the bloody internals, would you? So that's one thing. While evacuating it I quickly figured that I'd want to remove the battery immediately.. except that fucking thing was screwed in place?! WHAT THE FUCK?!! Use those screws to keep the fucking backside of the watch in place you certified pieces of shit that designed this craptacular piece of garbage!!!
Finished showering, went ahead and troubleshooted the thing. Miraculously it still worked. Except that now the UI of the fucking thing is biting me in the ass. A single button on the watch is used to operate the whole thing, and get it to set itself to the correct time, get radio signal, go in sleep mode (where the watch stops ticking, for storage purposes) and activate itself again. So I dived into the manual.. and still couldn't get it to work properly. So it's got one button just like an iPhone, it craps itself when it's dropped just like an iPhone, its design is shit just like an iPhone, and it's completely unusable when it craps itself just like an iPhone.
And the manual... Oh fucking shit. It specifies that the watch is 3 bar water resistant, yet apparently you can't take it into the shower. 3 FUCKING BAR!!! That's supposed to enable you to take a fucking dive with it! And apparently you can't drop it either.. who would've thought, when they lock it with no more than outwards pressure from the back plate into the main body! How difficult can it be to use fucking screws, and to make it watertight put some rubber bands or whatever?!
CERTIFIED MOTHERFUCKERS!!!
And the watch, it's in the garbage can right now. Right where it belongs!!20 -
I absolutely love the email protocols.
IMAP:
x1 LOGIN user@domain password
x2 LIST "" "*"
x3 SELECT Inbox
x4 LOGOUT
Because a state machine is clearly too hard to implement in server software, clients must instead do the state machine thing and therefore it must be in the IMAP protocol.
SMTP:
I should be careful with this one since there's already more than enough spam on the interwebs, and it's a good thing that the "developers" of these email bombers don't know jack shit about the protocol. But suffice it to say that much like on a real letter, you have an envelope and a letter inside. You know these envelopes with a transparent window so you can print the address information on the letter? Or the "regular" envelopes where you write it on the envelope itself?
Yeah not with SMTP. Both your envelope and your letter have them, and they can be different. That's why you can have an email in your inbox that seemingly came from yourself. The mail server only checks for the envelope headers, and as long as everything checks out domain-wise and such, it will be accepted. Then the mail client checks the headers in the letter itself, the data field as far as the mail server is concerned (and it doesn't look at it). Can be something else, can be nothing at all. Emails can even be sent in the future or the past.
Postfix' main.cf:
You have this property "mynetworks" in /etc/postfix/main.cf where you'd imagine you put your own networks in, right? I dunno, to let Postfix discover what your networks are.. like it says on the tin? Haha, nope. This is a property that defines which networks are allowed no authentication at all to the mail server, and that is exactly what makes an open relay an open relay. If any one of the addresses in your networks (such as a gateway, every network has one) is also where your SMTP traffic flows into the mail server from, congrats the whole internet can now send through your mail server without authentication. And all because it was part of "your networks".
Yeah when it comes to naming things, the protocol designers sure have room for improvement... And fuck email.
Oh, bonus one - STARTTLS:
So SMTP has this thing called STARTTLS where you can.. unlike mynetworks, actually starts a TLS connection like it says on the tin. The problem is that almost every mail server uses self-signed certificates so they're basically meaningless. You don't have a chain of trust. Also not everyone supports it *cough* government *cough*, so if you want to send email to those servers, your TLS policy must be opportunistic, not enforced. And as an icing on the cake, if anything is wrong with the TLS connection (such as an MITM attack), the protocol will actively downgrade to plain. I dunno.. isn't that exactly what the MITM attacker wants? Yeah, great design right there. Are the designers of the email protocols fucking retarded?9 -
This rant is particularly directed at web designers, front-end developers. If you match that, please do take a few minutes to read it, and read it once again.
Web 2.0. It's something that I hate. Particularly because the directive amongst webdesigners seems to be "client has plenty of resources anyway, and if they don't, they'll buy more anyway". I'd like to debunk that with an analogy that I've been thinking about for a while.
I've got one server in my home, with 8GB of RAM, 4 cores and ~4TB of storage. On it I'm running Proxmox, which is currently using about 4GB of RAM for about a dozen VM's and LXC containers. The VM's take the most RAM by far, while the LXC's are just glorified chroots (which nonetheless I find very intriguing due to their ability to run unprivileged). Average LXC takes just 60MB RAM, the amount for an init, the shell and the service(s) running in this LXC. Just like a chroot, but better.
On that host I expect to be able to run about 20-30 guests at this rate. On 4 cores and 8GB RAM. More extensive migration to LXC will improve this number over time. However, I'd like to go further. Once I've been able to build a Linux which was just a kernel and busybox, backed by the musl C library. The thing consumed only 13MB of RAM, which was a VM with its whole 13MB of RAM consumption being dedicated entirely to the kernel. I could probably optimize it further with modularization, but at the time I didn't due to its experimental nature. On a chroot, the kernel of the host is used, meaning that said setup in a chroot would border near the kB's of RAM consumption. The busybox shell would be its most important RAM consumer, which is negligible.
I don't want to settle with 20-30 VM's. I want to settle with hundreds or even thousands of LXC's on 8GB of RAM, as I've seen first-hand with my own builds that it's possible. That's something that's very important in webdesign. Browsers aren't all that different. More often than not, your website will share its resources with about 50-100 other tabs, because users forget to close their old tabs, are power users, looking things up on Stack Overflow, or whatever. Therefore that 8GB of RAM now reduces itself to about 80MB only. And then you've got modern web browsers which allocate their own process for each tab (at a certain amount, it seems to be limited at about 20-30 processes, but still).. and all of its memory required to render yours is duplicated into your designated 80MB. Let's say that 10MB is available for the website at most. This is a very liberal amount for a webserver to deal with per request, so let's stick with that, although in reality it'd probably be less.
10MB, the available RAM for the website you're trying to show. Of course, the total RAM of the user is comparatively huge, but your own chunk is much smaller than that. Optimization is key. Does your website really need that amount? In third-world countries where the internet bandwidth is still in the order of kB/s, 10MB is *very* liberal. Back in 2014 when I got into technology and webdesign, there was this rule of thumb that 7 seconds is usually when visitors click away. That'd translate into.. let's say, 10kB/s for third-world countries? 7 seconds makes that 70kB of available network bandwidth.
Web 2.0, taking 30+ seconds to load a web page, even on a broadband connection? Totally ridiculous. Make your website as fast as it can be, after all you're playing along with 50-100 other tabs. The faster, the better. The more lightweight, the better. If at all possible, please pursue this goal and make the Web a better place. Efficiency matters.9 -
Holy fuck the Instagram Android app has the WORST UX I've ever encountered!
I'm a professional Android developer and my girlfriend had to explain how to see a specific "story" more than once; IE; tap on it until it rotates round to the first! But tapping on a video post turns on the sound! What kind of dog shit for brains moron designed those interactions to be the same?
I can navigate around the app until all but one of the tabs displays a profile page when I navigate back to it. Lost much?
The center tab breaks that but only because it opens up a whole new screen out of nowhere, (bye bye bottom bar!) which repeats the "photo capture" that you can also get by swiping left on the left most tab!
Don't even get me started on the swiping! None of the tabs swipe between each other, like the convention, oh no. But some of them can swipe, yes!
The first tab swipes left and right, where the hell do they go you ask? Look for the obscure icons at the top (oh and bye bye bottom bar again!). The forth tab swipes but only to the left, they have text tabs like standard. That screen that comes up out of nowhere I mentioned? That can swipe too, but now the text tabs are at the bottom for god knows what reason as the top is empty!
On the profile tab we have more tabs. These are icon tabs inside the content now. The first two change the post content from a feed style to a grid, okay, so far so good. The other two? You'd imagine they also change how you view content right? Nope, one shows your favorites, and the other replaces the whole screen with a "photos of you" screen! With not only the bottom bar still showing, but an up button! Where the fuck do we go "up" to on the home screen??
Then we have the bookmark icon on the toolbar, which opens up a new screen "Saved", guess where that tabs are this time? They're back at the top! You know why? Because the navigation bottom bar is still there!! And there's an up button!!
At this point I'm just about ready to kill myself using this fucked up, backwards facing, ass for a face app that is somehow one of the most popular platforms on the earth, yet seems to have been made by five different designers on opposite ends of the planet!
FUCK ME!!6 -
I miss old times rants...So i guess, here it goes mine:
Tomorrow is the day of the first demo to our client of a "forward-looking project" which is totally fucked up, because our "Technical Quality Assurance" - basically a developer from the '90-s, who gained the position by "he is a good guy from my last company where we worked together on sum old legacy project...".
He fucked up our marvellous, loose coupling, publish/subscribe microservice architecture, which was meant to replace an old, un-maintainable enormous monolitch app. Basically we have to replace some old-ass db stored functions.
Everyone was on our side, even the sysadmins were on our side, and he just walked in the conversation, and said: No, i don't like it, 'cause it's not clear how it would even work... Make it an RPC without loose coupling with the good-old common lib pattern, which made it now (it's the 4th 2 week/sprint, and it is a dependency hell). I could go on day and night about his "awesome ideas", and all the lovely e-mails and pull request comments... But back to business
So tomorrow is the demo. The client side project manager accidentally invited EVERYONE to this, even fucking CIO, legal department, all the designers... so yeah... pretty nice couple of swallowed company...
Today was a day, when my lead colleague just simply stayed home, to be more productive, our companys project manager had to work on other prjects, and can't help, and all the 3 other prject members were thinking it is important to interrupt me frequently...
I have to install our projects which is not even had a heart beat... not even on developer machines. Ok it is not a reeeeaaally big thing, but it is 6 MS from which 2 not even building because of tight coupling fucktard bitch..., But ok, i mean, i do my best, and make it work for the first time ever... I worked like 10 ours, just on the first fucking app to build, and deploy, run on the server, connect to db and rabbit mq... 10 FUCKING HOURS!!! (sorry, i mean) and it all was about 1, i mean ONE FUCKING LINE!
Let me explain: spring boot amqp with SSL was never tested before this time. I searched everything i could tought about, what could cause "Connection reset"... Yeah... not so helpful error message... I even have to "hack" into the demo server to test the keystore-truststore at localhost... and all the fucking configs, user names, urls, everything was correct... But one fucking line was missing...
EXCEPT ONE FUCKING LINE:
spring.rabbitmq.ssl.enabled=false # Whether to enable SSL support.
This little bitch took me 6 hours to figure out...so please guys, learn from my fault and check the spring boot appendix for default application properties, if everything is correct, but it is not working...
And of course, if you want SSL then ENABLE it...
spring.rabbitmq.ssl.enabled=true
BTW i really miss those old rants from angry devs, and i hope someone will smile on my fucking torturerant marshall_mathers worklife sugar-free_tateless_cake_decorant_figure_boss missolddays oldtimes_rants5 -
I’m tired of all these profane “frontend developers” who do nothing but get cheap internet points by shitting on web technologies.
Bitch, NPM is just a package manager. That’s what it is. Anyone who ever used a package manager already knows how to use NPM.
Here on devrant, there at your workplace, people hear nothing but bitching when you open your mouth. You always need a “solid task description” and “best practices”. You always need somebody else to do your job for you. Frontend is the area where you have to constantly switch between heavy, performance-oriented coding, UX and graphic design while remaining in a dynamic environment that is called “web”, no wonder why you can’t do that. Instead of bitching, you could just present your own solution you designed with just a little bit of product-oriented thinking. But noooo, you fucking bother designers whenever you’re not sure about “how many pixels is that padding”.
You can only be barely productive (and only with a frozen spec) but can never take the lead just once.
In the 80s your kind of approaches were doubted, by the 90s they were dead. In 2020s they’re straight up laughable.
And don’t get me started on CSS. You have to be an absolute buffoon of a developer to not know how to use a DECLARATIVE tool that don’t even require real structural thinking.
No wonder why you praise php. You throw shit all over the place and tell everybody that you’re a “sociopath” and you don’t need that “stupid frontend” and “stupid users”. But you know what? Any real backend or embedded dev would’ve laughed at your face.
Because backend developers are respected.
You’re not.10 -
"Graphics don't matter."
I ranted a while back about gamedev being hard to get into for me, and, today, user @DOSnotCompute posted a similar experience.
I had a couple more thoughts, so thought should post them here (FUCK! It ended up being too fucking long! sorry!)
So I was watching the making of mortal kombat 3 on yt, which was pretty amazing btw because I got to see the actors of the sprites in game which were engraved in my and thousands of others kids minds.
Anyhow, the creators of the series, John Tobias and Ed Boon, were interviewed and what not. And it hit me that while both were the designers, John was the main artist and Ed was the programmer (at least for MK1). Another game that comes to mind Super Meat Boy, and I bet hundreds of others did the same.
And it got me thinking, maybe that's my problem, I just need an artist.
And I think the reason why I never thought of that is because of this idea that graphics don't matter.
"you don't need an artist. You don't need graphics. The most important thing is the gameplay."
What a load of shit.
A lot of people believe that because they got tired of polished AAA games with automatic and predictible gameplay.
People started parrotting this knee jerk of a conclusion since then.
It's dumb. Imagine if Infiminer, one of the games Minecraft was based on, which btw looks terrible, had all the same features Minecraft had.
I would still not touch that shit with a pole.
Graphics ARE important. Games are on the VISUAL medium.
That doesn't mean you're sucking Sony's dick on every AAA release or that every game should be made with UnreUnityCocksReloadedEngine.
Some level of visual craft is required for a game ro be considered such.
(btw, I think most of you guys here get this, not trying to pander, just that I want to make it clear that I'm not accusing this community of being guilty of this)
If a game looks bad (given, bad can be subjective), if it gives the impression that it wasn't seriously made, then you kinda lower your expectations.
People get hyped on games that look good, because it means that the game could be good. Games that look unoriginal or terrible won't get played, wether they're good or not. And I think it's a reasonable reaction.
How many times did I hear things like "Look at x video game from the 90s, the graphics are terrible but it's fun as hell".
That is an absurd statement. The level of production some NES games went through is insane. We're talking millions of dollars for games that today might look primitive.
The graphics weren't shit back then, and even today you could say that they are simpler but also of excellent craftsmanship.
I'm not into creating art, I hate it in fact because you can't quantify the success of produced art.
So, duh, find an artist. Ok, how? This is the part where I have no fucking idea how.
You start spamming shit like "I need an artist" online? I dunno, something for another post I guess.
I guess the most healthy thing I could do is making demos that might look like shit just to get experience so that when I get to find an artist, I have practice already.7 -
So I have been a fly on the "wall" for last couple of months and never signed up, but now here I am!
Rant is about a serious topic - gender gap in tech industry!!
Couple of months ago Stackoverflow announced developer survey results! I was shocked by demographics results! It was disappointing to see biggest gender gap in general tech industry!
I believe tech industry can be the first one to have equal pay for women!
However.... (bad part)
I was going through my twitter feeds and saw this! Many of you have seen this tweet too.
(ohh!fuck I cant attach multiple images here, I should have created Medium post, fuck it!)
"They" continue, quoting from the tweet.
1)"....bias in society is reflected in AI"
2) "However, I do think it is our responsibility as designers/developers/users to be aware of this bias and do our best to correct it."
I want to rant about 2nd one. Some of you may not like it including grammar naziz!
As a developer/programmer I take 2nd one personally! I am currently at denial phase though!
And I have an OCD so gonna make points here!
1) Seriously tell me please, how the fuck you can write gender bias algorithm which can pass a big crazy amount of test suite?
2) Google has done many things for last decade to overcome gender gap related issues. I have met some of the nicest people from Google, and this is really hard for me to believe that google AI or that team has anything to do with the results!
3) Someone suggests use "they" in google translated result, can you fucking imagine how wrong that would be??? If I am developer working on that algo or even in that team and I see this ticket in jira with highest priority where it says, "make all translated results gender neutral using only they" - I would fucking like to die and may be in my next life ask me to do that, when I am a toddler!
4) I am an advocate for equal pay, equal rights and equal opportunities for everyone to "minify" this gender gap in tech, but showing google translate results of a gender natural language to make a point is wrong, it is simply undermining the efforts of something really helpful thing.
5) Moving on to the core point - What can be done to lower down the gender gap? I have seen amazing women who can code/manage far far far better than what I ever could imagine, and they are at really good place and deserve to be there. Are they doing enough to inspire other women to join tech industry?
Collective efforts are very much required. And need to keep in consideration that tech industry is highly competitive roles are also changing rapidly.
6) Many big companies have women at higher positions(CEO, CFO,....) what are their efforts to bring more women in tech industry?
(Some of you may not like this, as this is implying that it isn't only men's job. )
7) Going slightly political here, everyday we see really disappointing news related to women and their rights and health, I strongly believe women don't have to ask for or even have to mention about "equal rights" about anything. Everyone is equal!!!
This is 2017 and still fucked up!
Thats all for today! Heading for breakfast!
24 -
Priceless advice to all. Never agree to work on a project where graphic designers are overseeing it. You will be installing a scripty handwritten font the week before go live, changing out images but the ecommerce portion has not yet been implemented much less tested. I thought I would be implementing a typical Shopify site but no it is "story telling" they say. Oh yeah go live is 4 days away.5
-
🪙 The golden age of tech is coming to an end. We currently live in a world of tech built by engineers and great minds; both Windows and Linux are great in their own ways. PCs are the peak of engineering, both desktops and laptops because of how versatile, powerful and universal they are. They serve engineers, designers and end users. You can do anything you can imagine; because the great people who built it, did it in such way that they themselves could use and enjoy it.
📱 The tech of the future will become ever more limited. The next generation of humans will use Chrome OS gladly and not even feel limited because they never experienced the freedom provided by a true personal computer device. Android OS is already getting ever closer to restricting 3rd party APK installers. Big tech will do everything they can to limit freedoms and make everyone use cloud, where they can charge $ for every damn click.
☎️The consumer-facing tech will become increasingly dumbed-down over time. The programmers and engineers will be still able to use "true" tech, but only for work. In everyday life, they will have to be content with the dumb limited tech.
And there is nothing we can do to stop it.8 -
Stories from Gary #000
Short background info:
So I'm working as a game dev for 3 years now and by now I can say that I've seen some shit. Mostly because of one of our game designers, let's call him Gary.
So Gary, from here on called GDG (Game Designer Gary), is a regular game designer (GD). His job is to come up with new game ideas, commission the assets, make sure that translations are done, etc. - simply put, he has to get a lot of shit together before we can start working on a new game.
Would be no problem at all if GDG wasn't lazy as shit and would work for once in his life. No dev really wants to work with him anymore, since he's known for calling a game or any issue "ready for development" even if half the assets or specs are still missing.
Let's move on to a particular situation that happened a couple of months ago.
I had an issue assigned to me, which was about implementing the translations for a new game. As I read the issue and checked if everything I needed was given, I noticed that the most important part was in fact missing - the keywords for the translations.
-.-
So, I called GDG and asked where I could find the keywords, to which he responded "Oh, I'm working on them right now... and by the way I got a weird bug with the translation program. Can you come check it out?". Sigh. I went over to his office, rambling about how I should be able to help him with a program I rarely use and which was written ages ago.
As soon as GDG saw me coming roundbthe corner, he started explaining how the keywords aren't ready yet, since the program to create translations and their keywords won't let him name a translation.
"I can create new translations, but I can't assign a keyword to them."
"Okay, show me what you did", I told him, eager to leave.
He started to type the keyword, which turned out to be huge ass long and immediately I noticed a little counter, like "x/50", directly beneath the text field started to count up with every new character GDG typed. See where I'm going with this? HE WASNT ABLE TO RENAME A TRANSLATION BECAUSE HE WAS TOO LAZY TO FUCKING READ AND CONCENTRATE FOR ONCE. Sorry for that, but even thinking about it gets me angry again.
To some this might sound like nothing, but it really got to me at this point. Maybe it will become more understandable as I post more GDG stories.
tl;dr: A 40 something year old man, who's been working in his job for over 10 years wasn't able to use a program which he daily uses and asks me for help, only to find out he's a complete dipshit.4 -
So first of all merry delayed Xmas and of course wishing you all a happy new year.
Now...
I always loved designing and coding, yes I actually like it, I must be absolutely mental or something.. I finally after pushing myself through hours upon hours of courses, finishing most within 15% of the allotted time, and doing more then was requested, I finally found a job, related to front-end development. You might think "Gee; good for you buddy, you filthy commoner.." Well; it didn't last all too long, I basically after nailing the interview process got my first day there within a few days, now I am absolutely stoked and my nerves are shot, plus the 4 cups of coffee aren't helping. I literally was so nervous to do well on my first day, that I slept for only one hour, literally one bloody hour.
I get into the office where I am greeted by an amazing laptop, I mean high-end gaming 360 no-scope all over the place gaming. I sit down and start on getting all my tools ready to go (they let us use whatever IDE we wanted, which I thought was amazing) after getting my IDE and the plugins and all the emails/Slack etc setup, I then get told to get a Dropbox account. I assumed the Dropbox account was just there to share things quickly with the designers, we would obviously be using Git right?! Well; no not exactly, actually not at all - we all used the Dropbox account of one of the bosses, I swear everybody pushed and pulled stuff all the time, a copy of the boss's passport was in there as well, and they had projects from and up to 3 years ago, still in there... It took my Dropbox 3 bloody hours to grab as much as it could to actually allow me to get started...
I then to my absolute dismay notice that I would be working on a prefab of a prefab, basically the only thing I would be responsible for, is to adjust the animations and aligning elements.... Aligning and animations.... Fine, I guess it could be worse right? Started going along with it, using a framework that I never heard of before, till like a good 3 days before starting there called "Greensock" which is amazing I must admit, could've helped me allot on my solo-projects. Problem was; we had designers who wanted things, that just looked plain horrible, it was never 'on-point' so to say, maybe it's just me being a perfectionist but it just looked wrong.
Finally got it done after struggling with the prefabs and what not, then the day was almost over and I finally got to go home, fortunately dodging the drinking that was occurring around 4 in the afternoon in the middle of the office, it wasn't beers or anything of the sort - but hard liquor along the lines of Wodka and straight up Gin. I fortunately had a personal issue I had to attend too, so I got out of there before things got too crazy and they went out for dinner stumbling all over the place.
Well this wen't for a few more days (minus the drinking), with 8 being the exact number of days and my grievance list only kept growing. I was for one a junior-developer and thus with them knowing was supposed to get training from our lead, however; that never occurred instead said 'lead' would leave early or be completely absent on most days, leaving me to mess around with prefabs that did my head in, with no comments nor any indication what it did or should've done, I spent hours just adjusting one line of code at a time to see what would happen.
Eventually they told us to work from home only, so I did - did a project here and there and then got told they wouldn't keep me on board any longer, stating I was too inexperienced and they didn't have enough work (which was a load of bs) and that I lacked "office experience" whatever the heck that means, I was always sociable and hell I ever cracked people up, kept a neat and orderly list of things that needed doing, I even contrary to most commented on my code, so the next poor sod wouldn't be going through 'try by error' hell that I wen't through.
Either way; I currently have been feeling absolutely wrecked in terms of motivation, that job would've solved my financial situation and allowed me to finally do what I wanted to do. Instead of doing some random dead-end job each week or month, I would've had a steady income and something I could've built on.
But to add some positivism to this endless and too long of a rant... I'm currently going through a boot-camp and doing a small Linux based course on the side, this little thing isn't going to hold me back; yeah it will be tough, but then again most things don't come easy..
Thank you for reading and I hope you have allot and I mean allot more luck on your first job.5 -
Pulled into an 'emergency' meeting with a group of web designers deeply concerned a particular service wasn't going to meet all their requirements.
DevA: "For each page, Its going to be A LOT of work to retrieve all the data and store it's state. Every page load will require a round trip to the service."
DevB: "Yes, we aren't sure how the service should be changed to do what we need."
Mgr: "What is it not doing now? Doesn't the service already returns all the necessary data?"
DevA: "Well...um...its all the boolean fields. Some may be defaulted from the database or false because the user unchecked the box. We have to know which is which"
Me: "Why? Are you doing anything different in the UI? Checkbox will be true or false. What or who set that value is irrelevant"
DevC: "Well, it matters if the user didn't fill out all other other values."
Me: "How so?"
DevA: "Its matters because the values in the other fields. Its going to be A TON of work to figure out."
<mgr goes to the white board>
Mgr: "Lets map this out...what fields are you needing to trigger the state on?"
DevA: "Um...uh...the 'Approved' field...and um...'OK to Contact' field"
Mgr: "Just those two?"
DevA: "Yea..um...there are other fields, but whether or not to show the edit box depends on those two."
Me: "The service already returns data, you only have two fields to check? I don't see a need to change the service at all."
DevA: "Returning all that data, we are going have a serious scaling problem. We'll be hitting the service A LOT. All that javascript could cause performance problems too"
Me: "How much data are we talking about? Name, address, couple of booleans?"
DevA: "I have to serialize the data. All that logic is going to be reeeaaallly complicated. It might be better if the service returned only the data I need."
Me: "$64,000 question, how often is this feature going to be used on the web site? Maybe once? Few hundred a week?"
Mgr: "We have no idea. A lot of the data will be pre-populated and we're only sending out a few thousand invitations. More around the holidays...but honestly, not very many."
Me: "Changing that service only for this particular area of the web site isn't going to happen. Changing the UI is the only course of action."
DevA: "Oh frack I can't wait until this project is over."
DevA...how the funck do still have a job here? You wasted about half-hour of my time with your cry-baby crap. Where is my hammer...no...no..don't go there...ahhh...thanks devrant. Prison sentence diverted.2 -
Ok now I'm gonna tell you about my "Databases 2" exam. This is gonna be long.
I'd like to know if DB designers actually have this workflow. I'm gonna "challenge" the reader, but I'm not playing smartass. The mistakes I point out here are MY mistakes.
So, in my uni there's this course, "Databases 2" ("Databases 1" is relational algebra and theoretical stuff), which consist in one exercise: design a SQL database.
We get the description of a system. Almost a two pages pdf. Of course it could be anything. Here I'm going to pretend the project is a YouTube clone (it's one of the practice exercises).
We start designing a ER diagram that describes the system. It must be fucking accurate: e.g. if we describe a "view" as a relationship between the entities User and Video, it MUST have at least another attribute, e.g. the datetime, even if the description doesn't say it. The official reason?
"The ER relationship describes a set of couples. You can not have two elements equal, thus if you don't put any attribute, it means that any user could watch a video only once. So you must put at least something else."
Do you get my point? In this phase we're not even talking about a "database", this is an analysis phase.
Then we describe the type dictionary. So far so good, we just have to specify the type of any attribute.
And now... Constraints.
Oh my god the constraints. We have to describe every fucking constraint of our system. In FIRST ORDER LOGIC. Every entity is a set, and Entity(e) means that an element e belongs to the set Entity. "A user must leave a feedback after he saw a video" becomes like
For all u,v,dv,df,f ( User(u) and Video(v) and View(u, v, dv) and feedback(u, v, f) ) ---> dv < df
provided that dv and df are the datetimes of the view and the feedback creation (it is clear in the exercise, here seems kinda cryptic)
Of course only some of the constraints are explicitly described. This one, for example, was not in the text. If you fail to mention any "hidden" constraint, you lose a lot of points. Same thing if you not describe it correctly.
Now it's time for use cases.
You start with the usual stickman diagram. So far so good.
Then you have to describe their main functions.
In first order logic. Yes.
So, if you got the point, you may think that the following is correct to get "the average amount of feedback values on a single video" (1 to 5, like the old YT).
(let's say that feedback is a relationship with attribute between User and Video
getAv(Video v): int
Let be F = { va | feedback(v, u, va) } for any User u
Let av = (sum forall f in F) / | F |
return av
But nope, there's an error here. Can you spot it (I didn't)?
F is a set. Sets do not have duplicates! So, the F set will lose some feedback values! I can not define that as a simple set!
It has to be a set of couples, like (v, u), where v is the value and u the user; this way we can have duplicate feedback values in our set.
This concludes the analysis phase. Now, the design.
Well we just refactor everything we have done until now. Is-a relations become relationships, many-to-many relationships get an "association entity" between them, nothing new.
We write down on paper every SQL statement to build any table, entity or not. We write down every possible primary key or foreign key. The constraint that are not natively satisfied by SQL and/or foreign keys become triggers, and so on.
This exam is considered the true nightmare at our department. I just love it.
Now my question is, do actually DB designers follow this workflow? Or is this just a bloody hard training in Pai Mei style?6 -
Storytime!
(I just posted this in a shorter form as a comment but wanted to write it as a post too)
TL;DR, smarts are important, but so is how you work.
My first 'real' job was a lucky break in the .com era working tech support. This was pretty high end / professional / well respected and really well paid work.
I've never been a super fast learner, I was HORRIBLE in school. I was not a good student until I was ~40 (and then I loved it, but no longer have the time :( )
At work I really felt like so many folks around me did a better job / knew more than me. And straight up I know that was true. I was competent, but I was not the best by far.
However .... when things got ugly, I got assigned to the big cases. Particularly when I transferred to a group that dealt with some fancy smancy networking equipment.
The reason I was assigned? Engineering (another department) asked I be assigned. Even when it would take me a while to pickup the case and catch up on what was going on, they wanted the super smart tech support guys off the case, and me on it.
At first this was a bit perplexing as this engineering team were some ultra smart guys, custom chip designers, great education, and guys you could almost see were running a mental simulation of the chip as you described what you observed on the network...
What was also amusing was how ego-less these guys seemed to be (I don't pretend to know if they really were). I knew for a fact that recruiting teams tried to recruit some of these guys for years from other companies before they'd jump ship from one company to the next ... and yet when I met them in person it was like some random meeting on the street (there's a whole other story there that I wish I understood more about Indian Americans (many of them) and American engineers treat status / behave).
I eventually figured out that the reason I was assigned / requested was simple:
1. Support management couldn't refuse, in fact several valley managers very much didn't like me / did not want to give me those cases .... but nobody could refuse the almighty ASIC engineers. No joke, ASIC engineers requests were all but handed down on stone tablets and smote any idols you might have.
2. The engineers trusted me. It was that simple.
They liked to read my notes before going into a meeting / high pressure conference call. I could tell from talking to them on the phone (I was remote) if their mental model was seizing up, or if they just wanted more data, and we could have quick and effective conversations before meetings ;)
I always qualified my answers. If I didn't know I said so (this was HUGE) and I would go find out. In fact my notes often included a list of unknowns (I knew they'd ask), and a list of questions I had sent to / pending for the customer.
The super smart tech support guys, they had egos, didn't want to say they didn't know, and they'd send eng down the rabbit hole. Truth be told most of what the smarter than me tech support guy's knew was memorization. I don't want to sound like I'm knocking that because for the most part memorization would quickly solve a good chunk of tech support calls for sure... no question those guys solved problems. I wish I was able to memorize like those guys.
But memorization did NOT help anyone solve off the wall bugs, sort of emergent behavior, recognize patterns (network traffic and bugs all have patterns / smells). Memorization also wouldn't lead you to the right path to finding ANYTHING new / new methods to find things that you don't anticipate.
In fact relying on memorization like some support folks did meant that they often assumed that if bit 1 was on... they couldn't imagine what would happen if that didn't work, even if they saw a problem where ... bro obviously bit 1 is on but that thing ain't happening, that means A, B, C.
Being careful, asking questions, making lists of what you know / don't know, iterating LOGICALLY (for the love of god change one thing at a time). That's how you solved big problems I found.
Sometimes your skills aren't super smarts, super flashy code, sometimes, knowing every method off the top of your head, sometimes you can excel just being more careful, thinking different.4 -
Just signed up for this site, took me three minutes to figure out how to post a rant.
Do the designers know what a call to action is? Where in this screenshot tells me "post a rant here" or "click here to write your first" or "new rant" or even a plus symbol, pencil, paper, or any sort of symbology?
Nope. It's in a vague, almost invisible menu with a symbol of three dots that usually means "things you don't normally use might be in here". The main function of the site. Tucked away where nobody can see it.
Bad UX has no excuse in 2020.
14 -
So at our company, we use Google Sheets to for to coordinate everything, from designs to bug reporting to localization decisions, etc... Except for roadmaps, we use Trello for that. I found this very unintuitive and disorganized. Google Sheets GUI, as you all know, was not tailored for development project coordination. It is a spreadsheet creation tool. Pages of document are loosely connected to each other and you often have to keep a link to each of them because each Google Sheets document is isolated from each other by design. Not to mention the constant requests for permission for each document, wasting everybody's time.
I brought up the suggestion to the CEO that we should migrate everything to GitHub because everybody already needed a Github account to pull the latest version of our codebase even if they're not developers themselves. Gihub interface is easier to navigate, there's an Issues tab for bug report, a Wiki tab for designs and a Projects tab for roadmaps, eliminating the need for a separate Trello account. All tabs are organized within each project. This is how I've seen people coordinated with each other on open-source projects, it's a proven, battle-tested model of coordination between different roles in a software project.
The CEO shot down the proposal immediately, reason cited: The design team is not familiar with using the Github website because they've never thought of Github as a website for any role other than developers.
Fast-forward to a recent meeting where the person operating the computer connected to the big TV is struggling to scroll down a 600+ row long spreadsheet trying to find one of the open bugs. At that point, the CEO asked if there's anyway to hide resolved bugs. I immediately brought up Github and received support from our tester (vocal support anyway, other devs might have felt the same but were afraid to speak up). As you all know, Github by default only shows open issues by default, reducing the clutter that would be generated by past closed issues. This is the most obvious solution to the CEO's problem. But this CEO still stubbornly rejected the proposal.
2 lessons to take away from this story:
- Developer seems to be the only role in a development team that is willing to learn new tools for their work. Everybody else just tries to stretch the limit of the tools they already knew even if it meant fitting a square peg into a round hole. Well, I can't speak for testers, out of 2 testers I interacted with, one I never asked her opinion about Github, and the other one was the guy mentioned above. But I do know a pixel artist in the same company having a similar condition. She tries to make pixel arts using Photoshop. Didn't get to talk to her about this because we're not on the same project, but if we were, I'd suggest her use Aseprite, or (at least Pixelorama if the company doesn't want to spend for Aseprite's price tag) for the purpose of drawing pixel arts. Not sure how willing she would be at learning new tools, though.
- Github and other git hosts have a bit of a branding problem. Their names - Github, BitBucket, GitLab, etc... - are evocative of a tool exclusively used by developers, yet their websites have these features that are supposed to be used by different roles other than developers. Issues tabs are used by testers as well as developers. Wiki tabs are used by designers alongside developers. Projects and Insights tabs are used by project managers/product owners. Discussion tabs are used by every roles. Artists can even submit new assets through Pull Requests tabs if the Art Directors know how to use the site interface (Art Directors' job is literally just code review, but for artistic assets). These websites are more than just git hosts. They are straight-up Jira replacement with git hosting as a bonus feature. How can we get that through the head of non-developers so that we don't have to keep 4+ accounts for different websites for the same project?3 -
The source engine is interesting, because it has reached that stage of life where it's old enough to be remarkable-- in the sense that it could be called 'legacy', a sort of milestone in development practices and thinking, both in software, and design.
That said, a better look at it might be from the lense of *uses today*.
A lot of former source engine (SE) devs are now going to unity or unreal, I don't blame them.
But it's interesting to examine examples of games that haven't.
One such game is the freeware "No More Room In Hell". A couple online play throughs shows a wealth of well designed maps (and an even greater horde of shovelware maps, but hey, you take the good with the bad).
The age of the engine itself shows. Even in games like Left 4 Dead the engine's age can be seen. This, in some respects has been a drag, but also a blessing. Where other games could rely on their effects, shaders, and other tech, modders, map makers, and designers have had to rely on wit and creativity.
Enter "situated environments."
In an age where many people desire to travel, to go places, and have grown up doing the exact OPPOSITE, there is a great desire for variety of locations in games: not merely 'environmental' in the shallow sense of a 'theme' such as 'lava', 'tundra', etc. But in the sense of setting in general.
We want places that are both out of reach and yet familiar. Fire-fights happen in city streets. Apocalypses happen in neighborhoods where the skyline is both broken and at once something we know by sight. Open air markets, grocery stores, neighborhoods, all of these provide the back drops of popular games and series such as COD, Battlefield, The Last of Us, and yes, the example game, NMRIH.
I call this idea of 'familiar but out-of-reach level design', "situated environments", because familiarity with them, but *lack of real life experience* with them, on a day to day basis, allows people's expectations to fill in the gaps.
No one for example would argue the layouts of 7 Days To Die are familiar, but most of us don't spend all day in a junkyard or a high rise hotel.
So they *feel* familiar. Likewise with Skyrim, the villages and towns, both iconic and strange, our expectations formed by cultural inheritance, hollywood films, television shows, stories, childrens books, and yes, other games.
In a way, familiarity-without-real-in-person-experience is a shortcut for designers, one that lets them play with the player's head-space, the players subconscious idea of how a space and setting *should* work, what to *expect* out of the area, how to *operate* within the area. And the more it conforms to expectations, the more surprising an overdesigned element appears to be, rather than immersion breaking. A real life example of this is people's idea of chernobyl. When they discover the amusement park and ferris wheel they're blown away by the juxtaposition of the wasteland that surrounds them and the associations ('nostalgia' as it were) that such a carnival ride carries for many of us. It simultaneously *doesn't belong* and is yet all at once *perfectly situated in the environment*.
It is to say 'surreal', which is adjacent to the idea of *being real*, in terms of our "perception of what is and isn't plausible, if not possible."
This is at the heart of suspension of disbelief, because in essence, virtual worlds are a lie, like fiction, and good fiction violates expectations in order to tell us truths about reality. As part of our ability to differentiate bullshit from reality, there is to say an element in our bullshit detectors (doubtless evolved over many 10's of thousands of years), that is designed to not merely detect what is absurd in our limited experience, but to incorporate absurdity into everyday experience. In that sense part of our rationality is the acceptance of irrational experiences, learning from it, and discovering 'a proper place for each thing' in the "models of the world" we all carry around in our heads. Eventually we normalize the absurd, it becomes the new reality, and what remains unassimilated becomes superstition (real or otherwise), a figment, or an anomaly.
One of the best examples I've encountered is The Last of Us: Left Behind, a good chunk of which is spent in a mall. And they nailed the environment perfectly I would say.
Or for those who don't own a PS4, a more accessible example is a map in NMRIH aptly called "the museum", and few words better do it justice than to go play it yourself--that is, if you really want to know what I mean by a 'situated environment'.
What better way, during this pandemic, to get out of the news cycle and into your own head? Sometimes the best way to escape isn't outside, it's within.3 -
Question Time.
Has anyone around here used Krita before?
https://krita.org/en/#
Im trying to find something Photoshop-like that isn't GIMP - i've never really liked it for what ever reason.
i dont do design work enough to pay Adobe's BS subscription, but something opensource / donationware would be more appealing.6 -
Wrote this on another thread but wanted to do a full post on it.
What is a game?
I like to distinguish between 1. entertainment, 2. games, 3. fun.
both ideally are 'fun' (conveying a sense of immersion, flow, or pleasure).
a game is distinct (usually) from entertainment by the presence of interaction, but certain minimalists games have so little decision making, practice, or interaction-learning that in practice they're closer to entertainment.
theres also the issue of "interesting" interaction vs uninteresting ones. While in broad terms, it really comes down to the individual, in aggregate we can (usefully) say some things, by the utility, are either games or not. For example if having interaction were sufficient to make something a game, then light switches could become a game.
now supposed you added multiple switches and you had to hit a sequence to open a door. Now thats a sort of "game". So we see games are toys with goals.
Now what is a toy?
There are two varieties of toy: impromptu toys and intentional toys.
An impromptu toy is anything NOT intended primarily, by design, to induce pleasure or entertainment when interacted with. We'll call these "devices" or "toys" with a lowercase t.
"Toys", made with the intent of entertainment (primarily or secondarily) we'll label with an uppercase T.
Now whether something is used with the intent behind its own design (witness people using dildos, sex toys, as slapstick and gag items lol), or whether the designer achieves their intent with the toy or item is another matter entirely.
But what about more atmospheric games? What about idle games? Or clickers?
Take clickers. In the degenerate case of a single button and a number that increases, whats the difference between a clicker and a calculator? One is a device (calculator) turned into an impromptu toy and then a game by the user's intent and goal (larger number). The second, is a game proper, by the designers intent. In the degenerate case of a badly designed game it devolves into a really shitty calculator.
Likewise in the case of atmospheric games, in the degenerate case, they become mere cinematic entertainment with a glorified pause/play button.
Now while we could get into the definition of *play*, I'll only briefly get into it because there are a number of broad definitions. "Play" is loosely: freely structured (or structured) interaction with some sort of pleasure as either the primary or secondary object, with or without a goal, thats it. And by this definition you can play with a toy, you can play a game, you can play with a lightswitch, hell you can play with yourself.
This of course leaves out goals, the idea of "interesting decisions" or decision making, and a variety of other important elements.
But what makes a good game?
A lot of elements go into making a good game, and it's not a stretch to say that a good game is a totality of factors. At the core of all "good" games is a focus on mechanics, aesthetics, story, and technology. So we can already see that what makes a good game is less of an either-or-categorization and more like a rating or scale across categories of design elements.
Broadly, while aesthetics and atmosphere might be more important in games like Journey (2012) by Thatonegamecompany, for players of games like Rimworld the mechanics and interactions are going to be more important.
In fact going a little deeper, mechanics are usually (but not always) equivalent to interactions. And we see this dichtonomy arise when looking at games like Journey vs say, Dwarf Fortress. But, as an aside, is it possible to have atmospheric games that are also highly interactive or have a strong focus on mechanics? This is often what "realistic" (as opposed to *immersive*) games try to accomplish in design. Done poorly they instead lead to player frusteration, which depending on player type may or may not be pleasureable (witness 'hardcore' games whos difficulty and focus on do-overs is the fun the game is designed for, like roguelikes, and we'll get to that in a moment), but without the proper player base, leads to breaking player flow and immersion. One example of a badly designed game in the roguelike genre would be Early Access Stoneshard, where difficulty was more related to luck and chance than player skill or planning. A large part of this was because of a poorly designed stealth system, where picking off a single enemy alerted *all enemies* nearbye, who would then *stay* alerted until you changed maps, negating tactics that roguelike players enjoy and are used to resorting to. This is an important case worth examining because it shows how minor designer choices in mechanical design can radically alter the final quality of the game. Some games instead chose the cheaper route of managing player *perceptions* with a pregame note: Darkest Dungeons and Amnesia TDD are just two I can think of.11 -
Does anyone think tech recruiters are failed used car salesmen?
Bad experiences this week
One reached out to me on clearance jobs to apply for a job that I applied for, interviewed and was turned down for because of course they do not know Javascript is not Java and they were looking for a Java developer. She didn’t remember and then never responded. Out of spite I replied all to the last email that company sent me but of course no one responded.
This person who says that she is a recruiter for GOOGLE does not know the difference from UX designer and UX developer.
“ UX design still involves coding... idk where you got information that UX designers don't code but they absolutely do. UX designers are simply front end software engineers that work on refining the user experience of a particular program app or website.”
I don’t know because I used to be a fucking UX developer and used to work with UX designers??? Who didn’t code because figuring out what humans what is tough enough on it’s own. UI designers may know html/css but that is it.
I know we are going into a recession and I need to start being nice to these dumb recruiters because I may need them one day.2 -
"I think design would be better if designers were much more skeptical about its applications. If you believe in the potency of your craft, where you choose to dole it out is not something to take lightly." - Frank Chimero
-
Looking for potential clients on Upwork is like finding a holy grail these days.
Cheap clients with laughable budgets and high expectations on the right.
"Devs" and "Designers" with questionable skills who will work for the lowest rate possible on the left.
And don't forget the ever growing service fees and absurd measures like turning your profile private if you don't make any income in 30 days. Suuure, that's totally going to help anyone who isn't willing to work with low rates.
I am getting done with Upwork. Back on Elance I managed to get a couple of really good clients for long term projects and good commissions. Here it's impossible, even with lower rates.
You're competing against people whose portfolio involves changing a few colors for a envato template or logos made of stock graphics, and they are still more likely to be hired over you because they are willing to work on a t-shirt design for $4!
Networking is where is at. Getting contacts, talking to people, force yourself to introduce to companies as a potential asset.
That's how you get the good projects, right?
... Right, folks?1 -
The Timeless Appeal of Leather Clothing
Leather clothing has long been associated with style, durability, and a touch of rebellion. From the rugged appeal of leather clothing to the sophisticated charm of leather skirts and trousers, this material continues to be a staple in fashion. Over the decades, leather has evolved from being a purely functional material to a high-fashion statement, embraced by designers and consumers alike.
A Brief History of Leather Clothing:
Leather garments have been worn for centuries, dating back to ancient civilizations where leather was used for protection against harsh weather conditions. In the early 20th century, leather jackets became iconic among aviators and military personnel due to their resilience and warmth. By the 1950s, Hollywood rebels like Marlon Brando and James Dean made leather synonymous with youth rebellion, cementing its status in pop culture. Today, leather remains a symbol of edginess, luxury, and versatility.
Types of Leather Used in Clothing:
There are several types of leather used in the fashion industry, each offering unique characteristics:
Full-Grain Leather: The highest quality, known for its durability and natural appearance.
Top-Grain Leather: Slightly processed for a smoother finish while retaining strength.
Genuine Leather: More affordable and often used in budget-friendly fashion.
Faux Leather: A synthetic alternative that mimics real leather while being more sustainable and cruelty-free.
Popular Leather Clothing Items
Leather can be fashioned into a variety of garments, each exuding its own appeal:
Leather Jackets: A timeless piece that suits both casual and formal styles.
Leather Pants and Skirts: Offering a bold and sleek look for various occasions.
Leather Dresses: A chic choice for those who love a unique yet elegant appearance.
Leather Boots and Accessories: From gloves to belts, leather extends beyond clothing into stylish accessories.
Sustainability and Ethical Considerations
With growing concerns about environmental impact and animal welfare, the fashion industry is increasingly turning to sustainable leather alternatives. Vegan leather, made from materials like pineapple leaves and recycled plastics, offers a cruelty-free option while maintaining the aesthetic appeal of real leather.
Conclusion:
Leather clothing remains a classic choice that transcends trends. Whether opting for traditional leather or sustainable alternatives, this material continues to captivate fashion enthusiasts worldwide. With proper care, leather garments can last for years, making them a worthwhile addition to any wardrobe.
3 -
"I think design would be better if designers were much more skeptical about its applications. If you believe in the potency of your craft, where you choose to dole it out is not something to take lightly." - Frank Chimero
-
L&H Couture: The Premier Bridal Boutique in Doylestown, PA
At L&H Couture, located at 135 S Main St, Doylestown, PA 18901, we offer an exceptional bridal shopping experience for every bride. Whether you are looking for a wedding gown in Doylestown, luxury bridal attire, or wedding accessories, our Doylestown PA bridal boutique is the place to find everything you need to make your wedding day as beautiful as you’ve always imagined.
Why Choose L&H Couture for Your Bridal Needs?
At L&H Couture, we are proud to be one of the leading bridal shops near Doylestown PA, offering a wide range of bridal gowns, accessories, and customized services that make every bride feel special. Here’s why brides in Doylestown and surrounding areas choose us:
1. Doylestown PA Bridal Boutique
Looking for a Doylestown PA bridal boutique that offers personalized service and a luxurious selection? Look no further than L&H Couture. We are dedicated to providing a welcoming, relaxed environment where you can browse through our curated collection of wedding gowns, bridal accessories, and more. Our boutique is designed to offer you the most memorable bridal shopping experience.
2. Bridal Shop Near Doylestown PA
If you’re searching for a bridal shop near Doylestown PA, L&H Couture is conveniently located and offers an unparalleled selection of gowns. Whether you're a local or visiting from nearby areas, our bridal shop near Doylestown ensures that every bride finds the dress of her dreams. Our expert consultants are here to help you find a gown that suits your style, personality, and wedding theme.
3. Wedding Dress Store in Doylestown PA
As a wedding dress store in Doylestown PA, L&H Couture brings a collection of the finest gowns from renowned designers. We offer various styles, including classic, modern, and everything in between, ensuring you find a dress that matches your vision for the big day. Our wedding dress store is stocked with a wide range of designs, fabrics, and colors to suit every bride's unique taste.
4. Wedding Gown Doylestown
When it comes to finding your perfect wedding gown in Doylestown, L&H Couture is your trusted destination. We carry a diverse collection of wedding gowns, from timeless ball gowns to sleek, contemporary styles. Our bridal consultants will help you choose a gown that enhances your beauty and makes you feel confident on your wedding day.
5. Wedding Attire in Doylestown PA
L&H Couture isn’t just a bridal boutique—we are your go-to destination for all wedding attire in Doylestown PA. In addition to our bridal gowns, we also offer bridesmaid dresses, mother-of-the-bride dresses, and a wide selection of wedding accessories in Doylestown. From veils to shoes, our store has everything you need to complete your bridal look.
6. Wedding Accessories Doylestown
No bridal look is complete without the right accessories. L&H Couture offers an extensive selection of wedding accessories in Doylestown, including veils, jewelry, belts, and headpieces. Our bridal consultants will help you select the perfect finishing touches to complement your gown and add a touch of elegance to your wedding day ensemble.
7. Bridal Shop Near Bucks County PA
If you're in search of a bridal shop near Bucks County PA, L&H Couture is conveniently located and serves brides throughout the county. Whether you’re from New Hope, Yardley, or any other part of Bucks County, our bridal shop is just a short drive away, making us the ideal destination for your wedding dress shopping.
8. Wedding Dresses Near Doylestown PA
At L&H Couture, we offer an exceptional selection of wedding dresses near Doylestown PA. Our dresses are sourced from top designers and are available in a variety of styles, sizes, and fabrics. We offer everything from traditional, romantic designs to more modern, minimalist gowns, ensuring that every bride finds a dress she loves.
9. Wedding Dress Designers Doylestown PA
Looking for a wedding dress designer in Doylestown PA? At L&H Couture, we work with top-tier designers to bring you a curated collection of exquisite bridal gowns. Whether you’re looking for classic luxury or something more fashion-forward, our designers offer a variety of options to suit every bride’s taste.
10. Luxury Bridal Store Doylestown PA
As a luxury bridal store in Doylestown PA, L&H Couture offers a collection of premium, designer bridal gowns and accessories. We cater to brides who seek elegance and sophistication, offering high-end gowns that are both timeless and stunning. Our boutique provides a luxurious environment where you can explore our exclusive collection and receive expert advice from our bridal consultants.2 -
Best Digital Marketing Agency Ireland & High-Converting Landing Pages – Drive Your Business Growth with TheDigihub
In today’s competitive digital landscape, having a strong online presence is crucial to the success of your business. Whether you’re a small start-up or an established company, the right digital marketing strategy can make all the difference. At TheDigihub, we are proud to be recognized as one of the Best Digital Marketing Agencies in Ireland. Our goal is to help businesses across the country grow and thrive online by leveraging tailored marketing strategies, powerful High-Converting Landing Pages, and cutting-edge techniques.
Located in Ightermurragh, Ladysbridge, Co. Cork, TheDigihub is your trusted partner in digital marketing. We understand the unique challenges businesses face, and we offer comprehensive solutions that help you reach your target audience, generate leads, and convert visitors into loyal customers.
Why Choose TheDigihub – Best Digital Marketing Agency in Ireland?
Choosing the right digital marketing agency is vital to achieving your business goals. At TheDigihub, we are committed to delivering measurable results that help you grow your brand, increase online visibility, and drive conversions.
Here’s why we are considered one of the Best Digital Marketing Agencies in Ireland:
Proven Track Record: With years of experience working with businesses of all sizes across various industries, we have a proven track record of helping our clients succeed online. Our team is dedicated to developing customized digital marketing strategies that align with your business objectives.
Comprehensive Digital Marketing Services: We offer a full range of digital marketing services, including SEO (Search Engine Optimization), social media marketing, PPC (Pay-Per-Click) advertising, email marketing, content creation, and much more. We tailor each service to meet the specific needs of your business.
Expert Team: Our team of experienced digital marketers, designers, and developers work together to create high-performing campaigns that drive results. We stay ahead of industry trends and continuously optimize our strategies to ensure maximum performance.
Data-Driven Approach: At TheDigihub, we believe in making informed decisions based on data. We use advanced analytics tools to track and measure the success of your campaigns, making adjustments as needed to improve performance and achieve better results.
Local Knowledge & Global Reach: While we are based in Cork, our digital marketing strategies have a global reach. We understand the local market, and we help you connect with your target audience whether you’re looking to build a local following or expand your reach internationally.
By partnering with TheDigihub, you gain access to the expertise and resources of one of the best digital marketing teams in Ireland, focused on delivering solutions that drive results for your business.
High-Converting Landing Pages – The Key to Maximizing Conversions
When it comes to digital marketing, generating traffic to your website is only half the battle. The other half is ensuring that the visitors who land on your site actually take action—whether it’s making a purchase, signing up for a newsletter, or filling out a contact form. This is where High-Converting Landing Pages come into play.
At TheDigihub, we specialize in designing and developing High-Converting Landing Pages that help businesses achieve their marketing objectives. Here’s why Landing Pages are critical to your online success:
Focused User Experience: A well-designed landing page focuses the user’s attention on a single call-to-action (CTA). Whether you want your visitors to buy a product, subscribe to your newsletter, or schedule a consultation, a high-converting landing page eliminates distractions and guides users toward your desired goal.
Improved Conversion Rates: High-Converting Landing Pages are specifically designed to optimize conversions. With elements like clear and compelling copy, attention-grabbing headlines, strong CTAs, and trust signals (such as customer testimonials or security badges), we craft landing pages that turn visitors into customers.
A/B Testing & Optimization: We continuously test and optimize landing pages to improve performance. By analyzing user behavior and adjusting the design, content, and CTAs, we ensure that your landing pages are always converting at their best.
SEO-Optimized: A landing page that ranks well in search engines is even more valuable. We ensure that your landing pages are SEO-friendly, making it easier for potential customers to find your offerings online and increasing the chances of conversion.1 -
Discover Your Dream Wedding Dress at L&H Bridal RACK
At L&H Bridal RACK, we believe that every bride deserves to feel beautiful and confident on her wedding day. Located in the heart of Sinking Spring, PA, we offer an exceptional wedding dress collection near me that caters to every bride's unique style. Whether you're in search of the perfect gown or need professional wedding dress alterations in Sinking Spring, our boutique provides a full range of services to ensure your wedding day vision comes to life.
Why Choose L&H Bridal RACK?
Wedding Dress Shopping Near Me
If you're looking for the perfect place to start your wedding dress shopping near me, L&H Bridal RACK is the ideal choice. Our bridal boutique in Sinking Spring, PA, offers a wide variety of stunning wedding dresses to suit all tastes and preferences. Whether you're after a traditional ball gown, a sleek mermaid silhouette, or something more modern, we have a dress for every bride.
Bridal Shop in Sinking Spring, PA
As a premier bridal shop in Sinking Spring, PA, L&H Bridal RACK offers a comprehensive selection of wedding gowns, accessories, and services. Our boutique is dedicated to making your bridal shopping experience special and stress-free. From the moment you walk through our doors, you'll be greeted with personalized service to help guide you in finding your dream gown.
Wedding Dresses in Sinking Spring
At L&H Bridal RACK, we offer an impressive range of wedding dresses in Sinking Spring, featuring both classic designs and contemporary styles. Our collection includes dresses from well-known designers, offering a variety of cuts, fabrics, and embellishments. Whether you're looking for something timeless or trendy, we have wedding dresses that will make you feel like the best version of yourself.
Bridal Boutiques in Sinking Spring
Looking for bridal boutiques in Sinking Spring that offer both style and expert guidance? L&H Bridal RACK is the perfect fit. We pride ourselves on providing a relaxed yet professional atmosphere where you can try on as many gowns as you need to find the one that’s just right for you. Our expert stylists are here to assist you in exploring a variety of styles and options to make sure you find the dress that reflects your personal style and wedding vision.
Wedding Gown Store in Sinking Spring
As one of the leading wedding gown stores in Sinking Spring, we specialize in helping brides find a gown that fits perfectly. Whether you want a classic look, something unique, or a custom design, we’re here to provide the guidance and expertise needed to find the dress of your dreams. We also offer personalized custom wedding dresses in Sinking Spring to create a one-of-a-kind look for your big day.
Custom Wedding Dresses in Sinking Spring
If you're searching for custom wedding dresses in Sinking Spring, look no further than L&H Bridal RACK. We specialize in designing and creating wedding dresses tailored specifically to your body and style preferences. Whether you're dreaming of a dress with intricate lace, beading, or a unique silhouette, we can bring your vision to life with our custom wedding dress services.
Affordable Wedding Dresses in Sinking Spring
At L&H Bridal RACK, we believe that looking beautiful on your wedding day should not come at a high cost. Our boutique offers affordable wedding dresses in Sinking Spring without compromising on style or quality. We offer a wide selection of dresses to suit various budgets, so you can find the perfect gown that fits your style and your wallet.
Bridal Dress Store in Sinking Spring
L&H Bridal RACK is proud to be a trusted bridal dress store in Sinking Spring. We carry a range of wedding dresses, including styles for every bride—from romantic ball gowns to elegant A-line designs. With our personalized service and stunning dress options, we help ensure that your wedding dress shopping experience is as enjoyable as it is memorable.
Wedding Dress Alterations in Sinking Spring
After finding your dream dress, it's essential that it fits perfectly. L&H Bridal RACK offers wedding dress alterations in Sinking Spring to make sure your gown fits you flawlessly. Our expert seamstresses provide high-quality alterations to ensure that every detail of your dress is just right, from length adjustments to custom fittings that enhance your natural shape.
Book Your Appointment Today
At L&H Bridal RACK, we are committed to making your wedding dress shopping experience unforgettable. Whether you're searching for a wedding dress collection near me, need expert advice from our bridal stylists, or require professional wedding dress alterations in Sinking Spring, we are here to guide you every step of the way.
Visit us today at 4453 Penn Ave Suite 7, Sinking Spring, PA 19608, or call us at +16106704400 to schedule an appointment. We look forward to helping you find the perfect wedding dress for your big day5 -
Transform Your Kitchen with JR Stone Design Inc: Leading Kitchen Contractors in Palm Beach County and Boca Raton
Your kitchen is the heart of your home, and when it’s time to update or remodel, you want to ensure you’re working with a reliable, skilled team of professionals. That’s where JR Stone Design Inc comes in. As trusted kitchen contractors serving Palm Beach County and Boca Raton, we specialize in transforming kitchens into beautiful, functional spaces. With years of experience, a commitment to quality, and an eye for detail, we are your go-to team for all things kitchen remodeling.
Why Choose JR Stone Design Inc as Your Kitchen Contractors?
At JR Stone Design Inc, we know that every kitchen is unique. Whether you're planning a small upgrade or a complete kitchen remodel, we provide personalized solutions to meet your needs and vision. We proudly serve Palm Beach County and Boca Raton, offering expert kitchen design, high-quality materials, and craftsmanship you can trust.
Here’s why homeowners choose us as their kitchen contractors:
1. Customized Kitchen Design
We believe that your kitchen should reflect your personal style and work seamlessly with your home’s layout. Our expert designers work with you to create a kitchen that fits your vision, functional needs, and lifestyle. Whether you’re looking for a modern, sleek design or a more traditional, cozy feel, we bring your ideas to life with customized design solutions.
2. Top-Quality Materials
At JR Stone Design Inc, we prioritize quality. We use only the best materials for your remodel, ensuring that your kitchen not only looks stunning but is also durable and built to last. From premium countertops, cabinetry, and backsplashes to flooring and lighting, we source high-quality materials to bring your kitchen dreams to life.
3. Experienced Kitchen Contractors
Our team consists of experienced kitchen contractors who bring their extensive expertise to every project. With years of experience in the industry, we understand what it takes to create a kitchen that is both beautiful and functional. Our skilled contractors ensure that every detail is executed with precision, and we handle all aspects of the remodel from start to finish.
4. Comprehensive Kitchen Remodeling Services
We offer a full range of kitchen remodeling services for homeowners in Palm Beach County and Boca Raton, including:
Custom Cabinet Design and Installation
Our team designs and installs custom cabinetry that fits your space and maximizes storage. Whether you prefer classic wood cabinetry or modern sleek designs, we tailor the cabinetry to suit your style.
Countertop Installation
Choose from an array of countertop options, including granite, quartz, marble, and more. Our team ensures flawless installation and provides expert guidance in selecting the best material for your needs.
Backsplash Design and Installation
A backsplash can instantly transform the look of your kitchen. We offer a wide selection of tiles, patterns, and designs to create a backsplash that complements your kitchen’s style and enhances its aesthetic.
Flooring Solutions
We install a variety of durable and stylish flooring options, including hardwood, tile, and stone, to create a kitchen floor that perfectly matches your design and functionality needs.
Lighting and Fixtures
Lighting plays a critical role in creating ambiance and functionality in your kitchen. From task lighting to accent lighting, we help you choose and install the perfect lighting and fixtures to elevate your space.
5. On-Time and On-Budget Remodeling
We understand that kitchen remodels can be a big undertaking, and we’re committed to completing your project on time and within budget. Our team works efficiently, staying on schedule and providing transparent pricing so you can plan accordingly. We don’t believe in hidden fees, and we keep you informed throughout every stage of the process.
6. Personalized Customer Service
At JR Stone Design Inc, customer satisfaction is our top priority. We take the time to understand your specific needs and work closely with you to ensure that every detail of your kitchen remodel is executed to perfection. From the initial consultation to the final walkthrough, we provide exceptional customer service every step of the way.
Why Homeowners in Palm Beach County and Boca Raton Choose Us
Here’s why homeowners in Palm Beach County and Boca Raton trust JR Stone Design Inc for their kitchen remodeling projects:
Locally Owned and Operated: As a local business, we understand the specific needs and preferences of homeowners in Palm Beach County and Boca Raton.
Comprehensive Kitchen Services: We handle every aspect of kitchen remodeling, from custom cabinetry to lighting and flooring installation.
1 -
Varun Marbles-Kalinga Stone Dealer: Your Premier Stone Showroom for Black Granite Flooring in Gurgaon, Delhi, and Gurugram
When it comes to choosing the perfect materials for your flooring, countertops, or other surfaces, quality and durability are key factors. Varun Marbles-Kalinga Stone Dealer is your trusted stone supplier, offering a wide variety of high-quality materials such as black granite for flooring, Indian marble, Italian marble, quartz, and Varmora tiles in Gurgaon, Delhi, and Gurugram. Our showroom, located at Metro Pillar Number 6, Mehrauli-Gurgaon Rd, Arjan Garh, Haryana, showcases an extensive selection of stones that cater to both residential and commercial projects.
Why Choose Black Granite for Flooring?
Black granite is a luxurious and versatile option that can instantly enhance the look of any space. Its deep, rich color and sleek finish make it a popular choice for modern interiors and elegant exteriors. Here's why black granite for flooring is a great choice for your home or business:
Timeless Elegance: Black granite has a sophisticated, classic appeal that can complement any style of décor, from modern to traditional. Its deep color brings a touch of luxury to your floors, whether you're designing a high-end kitchen, living room, or office space.
Durability: Black granite is one of the hardest natural stones, making it extremely durable and resistant to wear and tear. It can withstand heavy foot traffic, making it ideal for high-traffic areas such as hallways, kitchens, and commercial spaces.
Low Maintenance: One of the standout features of black granite for flooring is its low maintenance requirements. It is resistant to stains, moisture, and scratches, making it easy to keep clean with minimal effort.
Heat and Scratch Resistance: Black granite is highly resistant to heat, which makes it a fantastic choice for kitchens and other spaces where hot items may come into contact with the floor. It also resists scratches, ensuring that your flooring maintains its pristine appearance over time.
Versatility: Whether you are designing a contemporary or traditional space, black granite flooring can complement a wide range of color schemes and design styles. The deep, polished finish of black granite creates a striking contrast with lighter walls and furnishings, adding depth and richness to any room.
Visit Our Stone Showroom Near Me
If you're searching for a stone showroom near me, look no further than Varun Marbles-Kalinga Stone Dealer. We offer an impressive selection of stones, including black granite, Indian marble, Italian marble, quartz, and Varmora tiles. Our showroom is conveniently located at Metro Pillar Number 6, Mehrauli-Gurgaon Rd, Arjan Garh, Haryana, serving customers throughout Gurgaon, Delhi, and Gurugram.
Why visit our showroom?
Wide Range of Stone Options: At Varun Marbles-Kalinga Stone Dealer, we pride ourselves on offering a wide variety of premium stones. Whether you need black granite for flooring, Indian marble, Italian marble, or quartz, we have something to suit every style and budget.
Expert Guidance: Our team of stone experts is here to help you choose the perfect material for your project. We offer professional advice on selecting the right stone, understanding the pros and cons of each type, and providing recommendations based on your specific needs.
Quality Products: We source our stones from reputable quarries, ensuring that you receive only the highest-quality products for your flooring, countertops, or other surfaces. Our stones are carefully inspected for quality and consistency.
Customization: Whether you're interested in custom cuts, finishes, or edge profiles, we can tailor our stones to suit your project. Our team will work closely with you to ensure that your black granite flooring or other stone surfaces are customized to your exact specifications.
Competitive Pricing: At Varun Marbles-Kalinga Stone Dealer, we offer competitive pricing on all our stone products. We believe that high-quality stones should be accessible to all, and we ensure that you get great value for your investment.
Benefits of Choosing Varun Marbles-Kalinga Stone Dealer
When it comes to purchasing black granite for flooring or any other stone products, Varun Marbles-Kalinga Stone Dealer is the go-to destination for homeowners, contractors, and designers in Gurgaon, Delhi, and Gurugram. Here are a few reasons why you should choose us:
High-Quality Stones: We specialize in a variety of stone materials, including black granite, Indian marble, Italian marble, quartz, and Varmora tiles. Our stones are sourced from trusted quarries and are guaranteed to meet the highest standards of quality and durability.
1
