• Tag Archives Technology
  • Trust worthy cons.

    Hello!

    Howwya.

    My nickname in darknet is zebadiah97.

    Great stuff. Can I just call you ars whole for short?

    I hacked this mailbox more than six months ago, through it I infected your operating system with a virus (trojan) created by me and have been monitoring you for a long time.

    Loverly. That would take skill. I’d be impressed if it was true. especially considering your many spelling mistakes. But go on. I’m curious.

    If you don’t belive me please check ‘from address’ in your header, you will see that I sent you an email from your mailbox.

    Haha. Cool I could probably teach a child how to do that.

    Even if you changed the password after that – it does not matter, my virus intercepted all the caching data on your computer and automatically saved access for me.

    Damn! I’m really stuck now.

    I have access to all your accounts, social networks, email, browsing history.
    Accordingly, I have the data of all your contacts, files from your computer, photos and videos.

    Grand. You wouldn’t mind cleaning them up while you’re poking around would you?

    I was most struck by the intimate content sites that you occasionally visit.
    You have a very wild imagination, I tell you!

    You’ve just got to love that pidgen on pidgen action don’t you? I hope you enjoyed it.

    During your pastime and entertainment there, I took screenshot through the camera of your device, synchronizing with what you are watching.
    Oh my god! You are so funny and excited!

    I was all a flutter!

    I think that you do not want all your contacts to get these files, right?
    If you are of the same opinion, then I think that $529 is quite a fair price to destroy the dirt I created.

    Send the above amount on my BTC wallet (bitcoin): 19D67Tgb3neJiTHd8pZDEBYmUn2qSjxEeB
    As soon as the above amount is received, I guarantee that the data will be deleted, I do not need it.

    Okay. You’re obviously very trust worthy. I’ll send the money to you right now.

    Otherwise, these files and history of visiting sites will get all your contacts from your device.
    Also, I’ll send to everyone your contact access to your email and access logs, I have carefully saved it!

    Since reading this letter you have 50 hours!
    After your reading this message, I’ll receive an automatic notification that you have seen the letter.

    I hope I taught you a good lesson.
    Do not be so nonchalant, please visit only to proven resources, and don’t enter your passwords anywhere!
    Good luck!

    What kind of total idiots send these messages.


  • A possible new note taking application

    OneNote, FlashNote, Sticky Notes, Outlook notes and Ever Note are great applications However, if you have privacy concerns and or you are Blind and depend on assistive technologies, these applications probably don’t give you the usability, security and mobility that you need.

    If you are interested in this application, please Email me. If I don’t get enough interest, I won’t write it.

    A note taker should do the following:
    • Open really quickly and allow you to take a note right away.
    • Save automatically.
    • Securely and reliably upload to the cloud.
    • Allow you to retain ownership of your notes.
    • Give you a way of downloading your notes so that if you ever want to move to something new, you have a way of bringing your notes with you.

    The note taking application that I propose to create will provide the following features:
    • Encryption of all notes before they are uploaded by the client. Each note client will use a custom cert along with a custom password so that your notes can only be decrypted by you.
    • Hash tags. Tag your notes with keywords so that you can find notes that have words in common. For example, if you are referencing an upcoming holiday and you want to refer to your flights. Use the #Flights2016 tag so you can quickly jump to all mentions of that tag.
    • Notes will be in a tree structure. Create sub notes to group notes relating to a particular topic.
    • Search for any word contained in all notes.
    • Quickly create a note based on the current date and time.
    • Quickly minimise to the system tray.
    • Open links by pressing enter on the link or by clicking it.
    • Autocomplete using IntelliSense for hash tags.
    • Share a note by Email.
    • Download all notes as CSV.
    • For the next version: Create reminders based on a note.

    The cost of this application will be €15
    The initial version will work on Windows but I’d like to look at a cross platform client eventually.


  • VMware Fix for Call “HostDatastoreSystem.QueryVmfsDatastoreCreateOptions” for object “ha-datastoresystem” on ESXi failed

    While installing ESXI 6 update 2 on a Dell R410 I found that I could not create a datastore using the VSphere UI. assumed this was something to do with the Windows partition that was previously used on that disk so I decided I’d drop back into the CLI and delete the existing partition manually.

    Here’s how you do this:

    1. Open VSphere.
    2. Go to Configuration
    3. Click Security templates on the left
    4. Click Properties
    5. Select SSH
    6. Click Options
    7. Click start
    8. Connect to your host using PuTTY or any other SSH client
    9. Move to the /dev/disks directory

      cd /dev/disks/

    10. List the files here

      ls

    11. Match the identifier with the datastore that you cant create in VSphere.
      For example: naa.6d4ae5208f875700172a910c5402c983
    12. Run partedUtil to delete that partition.

      partedUtil mklabel /dev/disks/naa.6d4ae5208f875700172a910c5402c983 msdos

    13. Go back into VSphere and create the datastore.
    14. Now disable the SSH service to clean up and close the security vulnerability that you’ve opened.

    I hope that helps someone. It worked for me perfectly.


  • Script to delete Chrome cache on all PC’s listed in a text file

    Another problem that could be fixed with a script today. Moving machines and users to a different domain resulted in a problem for some people. Chrome is a very popular browser but a number of people have reported to support that Chrome takes a very long time to start and then open the first page after log in to windows.

    It was determined that deleting the cache directory from within the users Chrome application data folder resolved this.

    Waiting for every effected user to report the problem wouldn’t be a great course of action of course. It would be a lot better to proactively go after all Chrome installations and remove the cache directory.

    So that’s what I’ve done. The script does the following:

    1. Check to see if the computer is on the network by pinging it.
    2. List all the user directories in c:\users on each computer.
    3. Check to see if the Chrome cache directory exists.
    4. Deletes the cache directory.
    5. Logs the result including any encountered errors to a file called results.txt.

    I could have searched Active Directory directly of course but I want to be able to easily add and remove computers when needed. It also allows me to run the script on 10 computers to start off and ramp up to a few thousand by the end.

    It should go without saying that as the script uses the admin share, you need to have access to the workstations that you intend to administer.

    Option Explicit
    Const ForReading = 1
    Const ForAppending = 8
    Dim objFSO : Set objFSO = CreateObject(“Scripting.FileSystemObject”)
    Dim objFile : Set objFile = objFSO.OpenTextFile(“Z:\Scripts\Chrome cleanup\AccountingsectionComputers.txt”, ForReading, False)
    Dim objWriteFile : Set objWriteFile = objFSO.OpenTextFile(“Z:\Scripts\Chrome cleanup\Result.txt”, ForAppending)

    Do Until objFile.AtEndOfStream
    Dim strComputer : strComputer = Trim(objFile.ReadLine)
    If PingMachine(strComputer) Then
    ‘Computer is pinging
    Dim objFolder : Set objFolder = objFSO.GetFolder(“\\” & strComputer & “\c$\users\”)
    Dim strUserParentPath : Set strUserParentPath = objFolder.SubFolders
    Dim strUserFolder
    For Each strUserFolder in strUserParentPath
    Dim strRemoteBasePath : strRemoteBasePath = “\\” & strComputer & “\c$\users\” & strUserFolder.name & “\AppData\Local\Google\Chrome\User Data\Default\Cache”
    If objFSO.FolderExists(strRemoteBasePath) Then
    On Error Resume Next
    objFSO.DeleteFolder strRemoteBasePath, True
    If Err.Number = 0 Then
    objWriteFile.WriteLine strRemoteBasePath & vbTab & ” DELETE SUCCESSFUL”
    Else
    objWriteFile.WriteLine strRemoteBasePath & vbTab & ” DELETE FAILED: ” & Err.Number & ” ” & Err.Description
    End If
    On Error GoTo 0
    Else
    objWriteFile.WriteLine strRemoteBasePath & vbTab & ” FOLDER DOES NOT EXIST”
    End If
    Next
    Else
    objWriteFile.WriteLine strComputer & vbTab & ” PING FAILED”
    End If
    Loop
    objFile.Close

    Function PingMachine(device_name)
    PingMachine = False
    Dim colItems : Set colItems = GetObject(“winmgmts:root\cimv2”).ExecQuery _
    (“Select StatusCode from Win32_PingStatus Where Address = ‘” & device_name & “‘”)
    Dim objItem
    For Each objItem in colItems
    If objItem.StatusCode = 0 Then PingMachine = True
    Next
    End Function

    If there are other scripts that you would like to see, please let me know in the comments section.


  • See who is logging onto your domain

    I was looking a migration from one domain to another a short while ago. Almost all the users accounts had been migrated over but there were a few hanging on.

    The migration tool wasn’t doing a great job of picking them up so I wrote a small script and added it to group policy for all servers and workstations. Now when someone logs in to the old domain a line is written to the log with their username, computer name and IP address.

    Using this the person responsible for the migration can get through the last few people on the old domain. This has saved a lot of time as before I wrote this th eprocess was very manual.


    Const ForAppending = 8
    Set WshShell = CreateObject("WScript.Shell")
    Set WshNetwork = CreateObject("WScript.Network")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.OpenTextFile("\\ServerName.DomainName.TLD\RemainingComputer\log.txt", ForAppending)
    objFile.WriteLine WshNetwork.ComputerName & "," & WshNetwork.UserName & "," & GetIpAddress
    objFile.Close

    Function GetIPAddress
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set IPConfigSet = objWMIService.ExecQuery _
    ("Select IPAddress from Win32_NetworkAdapterConfiguration WHERE IPEnabled = 'True'")

    For Each IPConfig in IPConfigSet
    If Not IsNull(IPConfig.IPAddress) Then
    For i = LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress)
    If Not Instr(IPConfig.IPAddress(i), ":") > 0 Then
    strIPAddress = strIPAddress & IPConfig.IPAddress(i) & " "
    End If
    Next
    End If
    Next
    GetIPAddress = strIPAddress
    End Function


  • VBScript to arrange files into folders.

    A few days ago I was presented with just over seven thousand PDF files. I had waited six weeks for these files so I was in a horrid mood when they arrived in one big batch with just ID’s in the file name. I had no way of processing them by customer.

    I had a spreadsheet that had the billing period, the customer name and the bil number in columns A, B and C respectively so I decided to write up a short script to process these files.

    Here’s a cut down version with a little bit removed to protect the various companies involved.


    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set objExcel = CreateObject("Excel.Application")
    Set objWorkbook = objExcel.Workbooks.Open ("D:\Home\Workarea\Invoices_PDF\invoices.xlsx")

    ' Starting at row 2 because row 1 is used for the column headings.
    intRow = 2
    strNewParentPath = "ByETB\"
    strOldParentPath = "Combined\"
    strBasePath = "D:\Home\Workarea\Invoices_PDF\"
    Do Until objExcel.Cells(intRow,1).Value = ""
    strPeriod = ConvertPeriod(objExcel.Cells(intRow, 1).Value)
    strProcessedCompanyName = ConvertCompanyToDirectoryName(objExcel.Cells(intRow, 2).Value)
    strFileName = "billno-" & objExcel.Cells(intRow, 3).Value & ".pdf"
    ' WScript.Echo "Moving " & strOldParentPath & strFileName & " To " & strNewParentPath & strProcessedCompanyName & "\" & strPeriod & "\"

    If NOT (FSO.FolderExists(strBasePath & strNewParentPath & strProcessedCompanyName)) Then
    WScript.echo "Folder " & strBasePath & strNewParentPath & strProcessedCompanyName & " didn't exist."
    FSO.CreateFolder strBasePath & strNewParentPath & strProcessedCompanyName
    End If

    If NOT (FSO.FolderExists(strBasePath & strNewParentPath & strProcessedCompanyName & "\" & strPeriod)) Then
    WScript.echo "Folder " & strBasePath & strNewParentPath & strProcessedCompanyName & "\" & strPeriod & " didn't exist."
    FSO.CreateFolder strBasePath & strNewParentPath & strProcessedCompanyName & "\" & strPeriod
    End If

    WScript.Echo "Copying from: " & strBasePath & strOldParentPath & strFileName & " Copying to: " & strBasePath & strNewParentPath & strProcessedCompanyName & "\" & strPeriod& "\"
    FSO.CopyFile strBasePath & strOldParentPath & strFileName, strBasePath & strNewParentPath & strProcessedCompanyName & "\" & strPeriod& "\"
    intRow = intRow + 1
    Loop
    objExcel.Quit

    Function ConvertCompanyToDirectoryName (CompanyName)
    if CompanyName = "" Then
    WScript.Echo "No ETB Name passed to ConvertCompanyToDirectoryName function"
    Exit Function
    End If

    If InStr(1, CompanyName, "DUBLIN") <> 0 Then
    CompanyName = "Dublin"
    End If

    If InStr(1, CompanyName, "LOUTH") <> 0 Then
    CompanyName = "Louth"
    End If

    If InStr(1, CompanyName, "DONEGAL") <> 0 Then
    CompanyName = "Donegal"
    End If

    If InStr(1, CompanyName, "LIMERICK") <> 0 Then
    CompanyName = "Limerick"
    End If

    If InStr(1, CompanyName, "GALWAY") <> 0 Then
    CompanyName = "Galway"
    End If

    If InStr(1, CompanyName, "CORK") <> 0 Then
    CompanyName = "Cork"
    End If

    If InStr(1, CompanyName, "CARLOW") <> 0 Then
    CompanyName = "Carlow"
    End If

    If InStr(1, CompanyName, "KERRY") <> 0 Then
    CompanyName = "Kerry"
    End If

    If InStr(1, CompanyName, "MEATH") <> 0 Then
    CompanyName = "WestMeath"
    End If

    If InStr(1, CompanyName, "KILDARE") <> 0 Then
    CompanyName = "Kildare"
    End If

    If InStr(1, CompanyName, "TIPPERARY") <> 0 Then
    CompanyName = "Tipperary"
    End If

    If InStr(1, CompanyName, "TIPP") <> 0 Then
    CompanyName = "Tipperary"
    End If

    If InStr(1, CompanyName, "LAOIS") <> 0 Then
    CompanyName = "Laois"
    End If

    If InStr(1, CompanyName, "MONAGHAN") <> 0 Then
    CompanyName = "Monaghan"
    End If

    ' Replace spaces with under lines.
    If InStr(1, CompanyName, " ") <> 0 Then
    CompanyName = Replace(CompanyName, " ", "_")
    End If

    ' Replaces / character with nothing.
    If InStr(1, CompanyName, "/") <> 0 Then
    CompanyName = Replace(CompanyName, "/", "")
    End If

    ConvertCompanyToDirectoryName = CompanyName
    End Function

    Function ConvertPeriod (Period)
    If Period = "" Then
    WScript.Echo "Period passed to ConvertPeriod function is blank."
    Exit Function
    end If

    If Period = "01/01/2016" Then
    Period = "Jan2016"
    End If

    If Period = "01/02/2016" Then
    Period = "Feb2016"
    End If

    If Period = "01/03/2016" Then
    Period = "Mar2016"
    End If

    If Period = "01/04/2016" Then
    Period = "Apr2016"
    End If
    ConvertPeriod = Period
    End Function


  • The Apple Watch with Voiceover review – Day 7

    Someone made a comment a few days ago about the Apple Watch and specifically Voiceover that I found kind of interesting. She said that the Apple watch isn’t like a normal talking watch. A normal talking watch has very slow speech feedback and the volume is static. It also usually chimes before announcing the time to the world. An Apple Watch might not be as discrete but it has a coolness factor at the moment that slightly negates the annoying factor for people around me. I can only hope that lasts. Her point was that the Apple Watch speaks much faster because I have it configured at that speed and if I’m going into an environment that’s quieter I can set the volume of the speech appropriately so that while in a quiet meeting for example it doesn’t shout my notifications out to the world.

    In most reviews of the Apple Watch I’ve read that people get annoyed by the number of notifications. I have to say that I’m not annoyed by them at all. I find that I actually miss most of the notifications that come in to the Apple Watch. This is because the tap is so slight that unless I’m not busy I really won’t notice. The iPhone demands attention but the Apple Watch quietly asks for it.

    I’m a techy. I love all things techy therefore it’s a given that I’ll get to like the Apple Watch but I don’t love it. I don’t see myself feeling naked without the Apple Watch like I do when I forget my phone. Sorry. That’s not quite true. I don’t feel naked without my phone but I feel like I’m missing something important. The Apple Watch isn’t that important to me. Apple announced on Monday that Apple OS version 2 will be out in September or October. I’m really hoping they address the short comings I’ve outlined on this blog in the past week. I’ll be emailing accessibility@apple.com to make sure they are aware of my problems, complaints and annoyances. I can only hope that every other Voiceover user of the Apple Watch does the same thing. If people don’t tell Apple what they are doing wrong they really can’t expect them to fix the problems for the next release.


  • Apple Watch with voiceover review – Day 2

    Day two with the Apple watch was quite uneventful.

    I was working from home so I reached my standing goal and my activity goal but I didn’t get anywhere near reaching my exercise goal. I’m hoping today will be a little better.

    Because I was at home I also didn’t have any problem with being unable to hear the watch due to background noise.

    I spent some time before work learning more about it. I still haven’t figured out how to turn off the noises for Voiceover but I learned that I can increase and decrease the volume reasonably easy. Double tap the screen with two fingers then slide up or down. The problem that I’ve encountered however is that when you release your fingers from the screen the volume can go up or down a bit. It’s not very accurate. It’s also not all that efficient so it can’t be done in a hurry.

    I also noticed that in glances you can move through the items by using the scroll area at the bottom. This is much faster than flicking up and down and then double tapping on next or previous item.

    I’ve enabled digital crown navigation. This can be done by triple tapping with two fingers. I like this method of navigation. Especially for notifications. The problem I have encountered though is when you use it to quickly move down to the last control labelled dismiss voiceover doesn’t always tell you that you’re there. It feels like an unfinished feature.

    I looked through the manual yesterday to try to find a list of Voiceover gestures. I had no success. If they are in a manual, they are well hidden.

    I’m still very irritated by the watch constantly turning on when I move my hand. Obviously I use my hands for everything. Finding things, opening doors, typing, playing music, my guide dog etc. The watch has absolutely no awareness of this though and constantly turns on and off. Each time it turns on Voiceover plays a sound and speaks the time. The problem is, I like this feature but I’d prefer if it was more intelligent. The funny thing is, I’ve read other reviews of the Apple Watch that have complained that the wrist movement isn’t fluid enough. In other words when the reviewers moved their wrist the watch face doesn’t turn on. Maybe this is something Apple have rectified and as a result have made it over sensitive.

    I have liked getting the notifications on my wrist though. Especially for work. I don’t get over loaded so it’s nice to get the important things even when I’ve stepped away or I’m talking to someone.

    Speaking of stepping away, one of the draws of the Apple watch for me is the fitness and activity side of things. I know I need to be more active. This is showing me exactly how much more. It may not be as accurate as dedicated devices on the market but it’s accessible and it’s accurate enough to send me in the right direction.


  • The apple Watch with Voiceover – Day 1

    The Apple watch on my wristI ordered the Apple Watch a few days after it was officially available in April and it arrived yesterday, a bit sooner than I had expected.

    I had tried one in the Apple store in Belfast back in April but the demonstration models didn’t have the ability to enable Voiceover so my conclusion wasn’t definitive on if this was going to be a benefit or not. However, as I like all things techy, I decided to go and buy one regardless.

    I want these reviews to be comprehensive without being too long so let me jump right into it.

    Firstly, there is an offal lot of packaging. I don’t know how Apple is ticking its sustainability box when it has so many little bits of packaging around the watch. It came in a card board box. Inside this was a card board shell which suspended another card board box. Inside this was a plastic box with the watch in the middle. The watch was also wrapped in about four types of plastic from the outside of the box to the strap.

    Fortunately it had plenty of battery when I started with it. It wasn’t at 100% but it was probably around 90. I turned it on, successfully paired it with my phone and within a few minutes the Apple watch was talking and working well. It’s just as well it was a quick process as I got it into my hands at 7:35 and I had to be out by 7:50PM last night.

    The fact I had to go straight out after the watch was configured meant that I didn’t really give myself enough time to get even slightly comfortable with this new user interface. I knew how to check the time, get to glances, open notifications and move around applications but I hadn’t yet customized the watch face or installed the update to 1.01.

    On the up side, bringing the Apple Watch out straight away meant that it was thrown into a real life scenario right out of the box. I had to meet the rest of my family for a big event so the room that we were in was very noisy. This posed a challenge for the Apple Watch from the perspective of a Voiceover user. How do you gain the benefit of the apple watch as a discrete extension of your iPhone when you need to have the volume up so high that everyone in the room can hear it or you need to hold your arm close to your ear like someone doing a type of very weird salute? It was one of the reasons I have a lot of reservations about the Apple watch. I have always hated talking watches with a passion. Do I really want to use one?

    I’m in noisy environments a lot so I’ll explore this potential problem more as the days go on.

    The other problem I had was when we were eating. I’d move my arm and the watch would start talking. It’s very irritating but yet I see the benefit of this feature being enabled when I’m walking. Unfortunately there’s no quick way of disabling this that I know of however I must say that I haven’t bothered reading the manual yet. I probably should have read some of this by now but I generally only read the manual when all else fails.

    I got the opportunity to configure the watch a little more last night when I got back at 1AM. It seems easy enough to use.

    One complaint I have is that voiceover is far too sluggish. Now, that doesn’t mean that it’s very slow to respond, it just means that it’s slower than the phone to respond to flicks and taps. This is probably an unfair comparison to make. The phone has a much more powerful processor but if the screen reader doesn’t respond instantly to gestures the user interface feels sluggish and the experience feels very cumbersome.

    I’m being harsh. This is the first version of the Apple Watch but for the price I’ve paid for it, I demand a certain standard. The Voiceover implementation doesn’t begin to live up to that standard.

    One of my plans when buying the Apple watch was to make my own watch face. This wouldn’t be a visual face, it would use the taptic engine to provide the time in a sequence of vibrations. Unfortunately Apple put a stop to my plan by restricting the development of watch faces.

    One very positive point to the Apple Watch is it is smaller and lighter than my TISSOT TOUCH SILEN-T watch.


  • A review of Divi and my company Computer Support Services

    I have been very neglectful of this site lately. I wish I could say that will all change but. Na, it won’t.

    Here’s a short enough post. It’s not the kind of post where I say “Hey, go look at my new site over here” but that is a very small part of it. I want to tell you about a WordPress theme called Divi. This is currently the latest offering from the Elegant themes provider and its well worth considering.

    However, before you launch in there and spend money on it, let me make you aware of some of the problems I encountered.

    Let me start by saying a huge thanks to Emma because without her regular visual perspective I wouldn’t have had a clue what was going wrong.

    Sliders

    • The placement of text in the slider is very hard to get right. A specific image dimension is probably required however this doesn’t seem to be noted anywhere in the documentation. To get around this, I had to assign a class to the text and set the top margin to a minus value.
    • It isn’t possible to place the sections at specific points on the page and they aren’t always at the top or directly below another section. Therefore, again, I had no choice but to associate some sections with a class and then set a minus value for the top margin.
    • When I tried instead to use an image as the background of a slide it seemed absolutely impossible to control the size of that slide.
    • Be careful with other modules that you have installed. If you have a conflicting slider you may find some very strange behaviour.
    • I also recommend that when making changes to the text within a slider that you copy it to notepad or another editor because a few times I wrote a fantastic slide description only for it to be lost because the page didn’t save properly.
    • Adding a button a header to the slider spaces it out far too much. I wanted a compact and clean slider for the top of the page. Not a full length animation.
    • Saving the biggest problem until last, the slider displays properly on tablets however not IOS or Android on phones.

    Setting backgrounds.

    • I was told at one stage that the site looked a little bland. To solve this, I decided to use a background gradient. Thanks to CSS3, this is well supported and with a few checks for specific browsers in the CSS it’s very easy to implement consistently. However, some modules support setting a background colour but some don’t. There doesn’t seem to be any generic configuration items for these modules. Again, I had to get around this by using a class and styling this class using CSS.
    • There are no properties for setting the background in the Divi EPanel options so again, this had to be done using CSS.
    • Instead of just having the ability to set text and background colours in some modules to either dark or light, I would rather an additional or advanced option that would allow someone to type the hex values.

    The header.

    • I wanted to do a few things with the header. A number of people commented that the logo is very small but there is no way of changing the dimensions of this. I looked in the CSS file but I really can’t find where it is specified.
    • I would also like to add a role over but I don’t find the CSS very easy to read. The role over would define what menu item the mouse is hovering over.

    The pricing table

    • This is a fantastic idea but it’s not really a table. Its several tables. Each price you add is actually an additional table. I needed Emma’s help quite a bit to get this looking properly and even now I’m not entirely happy with it.
    • Feedback that I have received has also been quite negative about this. Divi seems to grey or dim features that are unavailable for certain price plans but it’s not obvious to people what this dim or grey colour represents. A more graphical representation would be a lot better.

    Divi is a great theme but what it claims to do isn’t quite delivered yet. I’m hoping it will vastly improve in the next year or two but if you are considering it today, be warned you will have no choice but to tweak a lot of CSS before you get it working properly.